返回首页

gbase数据、南大通用产品文档:GBase8sdttoasc() 函数

更新日期:2024年09月11日

dttoasc() 函数将 datetime 变量的字段值转换为符合 ANSI SQL 标准的 ASCII
字符串。
语法
mint dttoasc(dtvalue, outbuf)
dtime_t *dtvalue;
char *outbuf;
dtvalue
指向要转换的初始化了的 datetime 变量的指针。
outbuf
指向为 dtvalue 中的值接收 ANSI 标准 DATETIME 字符串的缓冲区的指针。

用法
dttoasc() 函数将 datetime 变量中的字段的数字转换为它们等同的字符,并将它们复
制至 outbuf 字符串,在它们之间带有定界符(连字符、空格、冒号或句号)。您必须以您
想要该字符串拥有的限定符来初始化 dtvalue 中的 datetime 变量。


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 691 -
该字符串不包括 SQL 语句用于定界 DATETIME 文字的限定符或圆括号。 outbuf
字符串符合 ANSI SQL 标准。
它包括针对每一定界符的一个字符,
加上字段,
其大小如下:
字段
字段大小
Year
4 位
DATETIME 的部分
如精度所指定
所有其他字段
2 位

带有 year to fraction(5) 限定符的 datetime 值产生最大的输出长度。等同的字符串
包含 19 位、6 定界符以及空终止符,总计 26 字节:
YYYY-MM-DD HH:MM:SS.FFFFF

如果您未初始化 datetime 变量的限定符,则 dttoasc() 函数返回不可预料的值,但此
值不超过 26 字节。

返回代码
0
转换成功。
<0
转换失败。

示例

demo 目录在文件 dttoasc.ec 中包含此样例程序。
/*
* dttoasc.ec *
The following program illustrates the conversion of a datetime value into an ASCII string
in ANSI SQL format
*/

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 692 -

#include

EXEC SQL include datetime;

main()
{
char out_str[16];

EXEC SQL BEGIN DECLARE SECTION;
datetime year to hour dt1;
EXEC SQL END DECLARE SECTION;

printf("DTTOASC Sample ESQL Program running.\n\n");

/* Initialize dt1 */
dtcurrent(&dt1);

/* Convert the internal format to ascii for displaying */
dttoasc(&dt1, out_str);

/* Print it out*/
printf("\tToday's datetime (year to hour)value is %s\n", out_str);

printf("\nDTTOASC Sample Program over.\n\n");
}
输出
DTTOASC Sample ESQL Program running.

Today's datetime (year to hour) value is 2007-09-19 08

DTTOASC Sample Program over.


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 693 -

通过方法 getSerial() 和 getSerial8(),GBase 8s JDBC Driver 提供对 GBase 8s SERIAL 和
SERIAL8 数据类型的支持,其为 java.sql.Statement接口实现的一部分。
由于 SERIAL 和 SERIAL8 数据类型没有来自 java.sql.Types 类的向任何 JDBC API 数据
类型的明显映射,因此,您必须将特定于 GBase 8s 的类导入至 Java™ 程序内,以处理
SERIAL 和 SERIAL8 列。要这么做,请将下列导入行添加至 Java 程序:
import com.gbasedbt.jdbc.*;
在 INSERT 语句之后,
请使用 getSerial() 方法,
来返回自动插入至表的 SERIAL 列内的序
列值。
在 INSERT 语句之后,
请使用 getSerial8() 方法,
来返回自动插入至表的 SERIAL8 列
内的序列值。如果任何下列条件为真,则这些方法返回 0:

最后的语句不是 INSERT 语句。

正在插入至其内的表不包含 SERIAL 或 SERIAL8 列。

尚未执行 INSERT 语句。
在 CREATE TABLE 语句之后,如果执行 getSerial() 或 getSerial8() 方法,则该方法缺省地
返回 1(假定新表包括一个 SERIAL 或 SERIAL8 列)。如果该表不包含 SERIAL 或
SERIAL8 列,则该方法返回 0。如果指定新的序列起始编号,则该方法返回该编号。
如果您想要使用 getSerial() 和 getSerial8() 方法,
则必须将 Statement 或 PreparedStatement 对
象强制转型为 IfmxStatement,
其为特定于GBase 8s 的 Statement 接口的实现。
下列示例展示
如何执行该强制转型:
cmd = "insert into serialTable(i) values (100)";
stmt.executeUpdate(cmd);
System.out.println(cmd+"...okay");
int serialValue = ((IfmxStatement)stmt).getSerial();
System.out.println("serial value: " + serialValue);
如果您想要将连续的序列值插入至 SERIAL 或 SERIAL8 数据类型的列内,则请为
INSERT 语句中的 SERIAL 或 SERIAL8 列指定值 0。当将该列设置为 0 时,数据库服务
器指定仅次于最高值的值。
要获取关于 GBase 8s SERIAL 和 SERIAL8 数据类型的更详尽信息,
请参阅
《GBase 8s SQL
指南:参考》 和《GBase 8s SQL 指南:语法》 。

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 110
-

语法
决策树训练函数的语法如下:
tree_train(
training_table_name,
output_table_name,
id_col_name,
dependent_variable,
list_of_features,
split_criterion,
weights,
max_depth,
min_split,
min_bucket,
n_bins,
pruning_params
)
参数说明

training_table_name:含训练数据的输入表表名。

output_table_name:保存训练结果的结果表。

id_col_name:训练数据中包含ID 信息的列名,每行的值应是唯一的。

dependent_variable:因变量的列名,boolean、integer、text 被视为分类输出,
而double 则被视为回归输出。

list_of_features:以逗号分隔的自变量的列名。

split_criterion:分离标准。对于分类树,可以是'gini', 'entropy', 'misclass',默
认为'gini';对于回归树,则只能是'mse'。

weights:标识每行输入数据权重的列名。

max_depth:树的最大深度。

min_split:结点分叉最小观察数。

min_bucket:叶子结点最小观察数。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1449

n_bins:连续自变量的分位数。

pruning_params:剪枝参数,格式为逗号分隔的键值对,支持两种:cp(剪枝
成本),n_folds(交叉验证的折叠次数)。
结果表说明
训练函数成功执行后,会创建保存模型信息的结果表,结果表包含如下字段用来
表示模型信息:

pruning_cp:用于修剪训练树的成本复杂度参数。

tree:训练后得到的模型,二进制格式。

cat_levels_in_text:分类变量的有序级

cat_n_levels:每个分类变量的级数

tree_depth:训练后树的最大深度。
摘要表说明
训练结束还会生出一个摘要表,其名为结果表表名加上”_summary”,摘要表的
字段说明如下:

method:‘tree_train’

is_classification:分类决策树为TRUE,回归决策树为FALSE。

source_table:训练数据表表名

model_table:训练结果表表名

id_col_name:训练表中包含ID 信息的列名

dependent_varname:因变量名

independent_varnames: 自变量名

cat_features:分类变量列表,逗号分隔

con_features:连续变量列表,逗号分隔

total_rows_processed:已处理行数

total_rows_skipped:跳过行数

dependent_var_levels:分类因变量的级数

dependent_var_type:因变量类型

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
1450

input_cp:用于修剪训练树的代价复杂度参数

independent_var_types: 自变量类型,逗号分隔