返回首页

gbase数据、南大通用产品文档:GBase8sSELECT 语句的输出

更新日期:2024年09月11日

虽然在所有GBase 8s 产品中语法相同,但是结果输出的格式和显示取决于应用程序。本章
和编写高级 SELECT 语句中的示例如同您在 DB-Access 中使用“交互式查询语言”选项
时那样显示 SELECT 语句及输出。
大对象数据类型的输出
当发出包含大对象的 SELECT 语句时,DB-Access 按如下所示显示结果:

对于 TEXT 列或 CLOB 列,显示列的内容。

对于 BYTE 列,显示词 而不是实际值。

对于 BLOB 列,显示词 而不是实际值。

用户定义的数据类型的输出
DB-Access 使用特殊约定来显示包含复杂或不透明数据类型的列的输出。有关这些数据类
型的更多信息,请参阅《GBase 8s 数据库设计和实现指南》。

非缺省代码集的输出
可以发出查询 NCHAR 列而不是 CHAR 列,
或者 NVARCHAR 列而不是 VARCHAR 列
的 SELECT 语句。
有关 Global Language Support(GLS)的更多信息,请参阅《GBase 8s GLS 用户指南》。
有关将 NCHAR 和 NVARCHAR 数据类型与非缺省代码集配合使用的其它信息,请参阅
《GBase 8s 数据库设计和实现指南》和《GBase 8s SQL 参考指南》。


菜单栏中选择“设置”菜单,点击“修改配置文件”选项,弹出配置文件
的修改界面,如下图:

图 4-19 修改配置文件
修改配置文件后,点击“保存并更新”完成修改,修改后再次启动的任务
将会采用新的配置。
注:路径修改后需要重启迁移工具方可生效。

ifx_dttofmtasc() 函数使用格式化掩码来将 datetime 变量转换为字符串。
语法
mint dttofmtasc(dtvalue, output, str_len, fmtstring, dbcentury)
dtime_t *dtvalue;
char *outbuf;
mint buflen;

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 709 -
char *fmtstring;
d
指向要转换的初始化了的 datetime 变量的指针。
output
指向为 d 中的值接收该字符串的缓冲区的指针。
str_len
输出缓冲区的长度。
fmtstring
指向包含要用于输出字符串的格式化掩码的缓冲区的指针。此时间格式化掩码包含
DBTIME 环境变量支持的同一格式化伪指令。
dbcentury
可为下列字符之一,其确定适用于该日期的年份部分的那个世纪:
R
当前的。该函数使用当期年份的两个高数位来扩展该年份值。
P
过去的。该函数使用过去的和但前的世纪来扩展该年份值。它将这两个日期与当前日
期相对比,并使用在当期世纪之前的世纪。如果两个日期都在当前日期之前,则该函数使
用距离当期日期最近的世纪。
F
将来的。该函数使用当前的和下一世纪来扩展该年份值。它将这些世纪与当前日期相
对比,并使用晚于当前日期的世纪。如果两个日期都晚于当前日期,则该函数使用距离当
前日期最近的日期。
C
最近的。该函数使用过去的、当前的和下一世纪来扩展该年份值。它选择距离当前日
期最近的世纪。
用法
您必须以您想要该字符串拥有的限定符来初始化 dtvalue 中的 datetime 变量。如果
您未初始化 datetime 变量,则该函数返回不可预料的值。outbuf 中的字符串不包括 SQL
语句用来定界 DATETIME 文字的限定符或圆括号。

格式化掩码 fmtstring 不需要说明相同的限定符作为 datetime 变量。
当说明了的格式
化掩码不同于 datetime 限定符时,dttofmtasc() 扩展 datetime 值(如同它已调用了
dttofmtasc() 函数那样)。


GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 710 -
如果该格式化掩码为空字符串,则该函数将字符串 outbuf 设置为空字符串。如果
fmtstring 为空指针,则 dttofmtasc() 函数必须为 outbuf 中的字符串确定要使用的格式。当
您使用缺省的语言环境时,该函数采用下列优先顺序:
DBTIME 环境变量指定的格式(如果设置 DBTIME 的话)。
GL_DATETIME 环境变量指定的格式(如果设置 GL_DATETIME 的话)。
符合标准 ANSI SQL 格式的缺省的日期格式:
%iY-%m-%d %H:%M:%S

当您在格式化掩码中使用两位年份
(%y)
时,
dttofmtasc() 函数使用 DBCENTURY 环
境变量的值来确定要使用的世纪。如果您未设置 DBCENTURY,则 dttofmtasc() 为两位年
份假定当前的世纪。

当您使用非缺省的语言环境(US English 之外的一种),且未设置 DBTIME 或
GL_DATETIME 环境变量时,
dttofmtasc() 使用客户机语言环境定义的缺省的 DATETIME
格式。


返回代码
0
转换成功。
<0
转换失败。请检查错误消息的文本。