返回首页

gbase数据、南大通用产品文档:GBase8s主要内容

更新日期:2024年09月11日

本出版物涵盖全部 GBase 8s 错误消息,按照错误消息代码罗列,并提供纠错对策。
本出版物针对以下用户编写:

数据库用户

数据库管理员

数据库应用程序程序员
本手册假定您具备以下背景:

对于计算机、操作系统和操作系统提供的实用程序的工作知识

使用关系数据库经验或熟悉数据库概念

一些计算机编程经验

ifx_dtcvasc() 函数将 DATETIME 值的符合 ANSI SQL 标准的字符串转换为
datetime 值。
语法
mint dtcvasc(str, d, dbcentury)
char *str;
dtime_t *d;
char dbcentury;
str
指向包含 ANSI 标准 DATETIME 字符串的缓冲区的指针。
d

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 705 -
指向初始化了的 datetime 变量的指针。
dbcentury
可为下列字符之一,其确定适用于该日期的年份部分的那个世纪:
R
当前的。该函数使用当前年份的两个高数位来扩展该年份值。
P
过去的。该函数使用过去的和当前的世纪来扩展该年份值。它将这两个日期与当前的
日期对比,并使用在当前世纪之前的世纪。如果两个日期都在当前日期之前,则该函数使
用距离当前日期最近的那个世纪。
F
将来的。
该函数使用当前的和下一世纪来扩展该年份值。
它将这些值与当前日期对比,
并使用晚于当前日期的那个世纪。如果两个日期都晚于当前日期,则该函数使用距离当前
日期最近的日期。
C
最近的。该函数使用过去的、当前的和下一世纪来扩展该年份值。它选择距离当前日
期最近的那个世纪。

用法
您必须以您想要此变量拥有的限定符来初始化 d 中的 datetime 变量。

str 中的字符串必须有符合采用 ANSI SQL 格式的 year to second 限定符的值。str
字符串可有开头的和结尾的空格。然而,对于 DATETIME 值,从第一个有效位至最后一
个,str 仅可包含符合 ANSI SQL 标准的数字和定界符字符。

如果您指定年份值为一位或两位,
则 ifx_dtcvasc() 函数使用 dbcentury 参数的值来确
定要使用哪个世纪。如果您未设置 dbcentury 参数,则 ifx_dtcvasc() 使用 DBCENTURY
环境变量来确定要使用哪个世纪。如果您未设置 DBCENTURY,则 ifx_dtcvasc() 假定两
位年份的当前世纪。

如果该字符串为空字符串,则 ifx_dtcvasc() 函数将 d 指向的值设置为空。如果字符
串是可接受的,则该函数设置 datetime 变量中的值,并返回零。否则,该函数保持该变量
不变,并返回负的错误代码。

返回代码

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 706 -
0
转换成功。
-1260
在指定的类型之间,不可能转换。
-1261
在 datetime 或 interval 的第一个字段中数字太多。
-1262
datetime 或 interval 中的非数值字符。
-1263
datetime 或 interval 值中的字符按超出范围或不正确。
-1264
在 datetime 或 interval 的结尾处存在额外的字符。
-1265
在 datetime 或 interval 操作上发生了溢出。
-1266
datetime 或 interval 值与该操作不相兼容。
-1267
datetime 计算的结果超出范围。
-1268
参数包含无效的 datetime 限定符。

语法
调用一个语句的语法请参见图1。
图1 call_clause::=
对以上语法格式的解释如下:

procedure_name:存储过程名。

parameter:存储过程的参数,可以没有或者有多个参数。