返回首页

gbase数据、南大通用产品文档:GBase8sGBase 8s ESQL/C库函数

更新日期:2024年09月11日

下表按字母顺序罗列 GBase 8s ESQL/C 库函数
函数名称
描述
bigintcvasc()
将 C char 类型值转换为 BIGINT 类型数值。
bigintcvdbl()
将 double 类型数值转换为 BIGINT 类型数值。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 597 -
函数名称
描述
bigintcvdec()
将 decimal 类型数值转换为 BIGINT 类型数值。
bigintcvflt()
将 float 类型数值转换为 BIGINT 类型数值。
bigintcvifx_int8()
将 int8 类型数值转换为 BIGINT 类型数值。
bigintcvint2()
将 int2 类型数值转换为 BIGINT 类型数值。
bigintcvint4()
将 int4 类型数值转换为 BIGINT 类型数值。
biginttoasc()
将 BIGINT 类型值转换为 C char 类型值。
biginttodbl()
将 BIGINT 类型数值转换为 double 类型数值。
biginttodec()
将 BIGINT 类型数值转换为 decimal 类型数值。
biginttoflt()
将 BIGINT 类型数值转换为 float 类型数值。
biginttoifx_int8()
将 BIGINT 类型数值转换为 int8 类型数值。
biginttoint2()
将 BIGINT 类型数值转换为 int2 类型数值。
biginttoint4()
将 BIGINT 类型数值转换为 int4 类型数值。
bycmpr()
比较两组相邻的字节
bycopy()
将字节从一个区域复制到另一个
byfill()
以字符填充指定的区域
byleng()
对字符串中的字节数计数
decadd()
两个 decimal 数值相加
deccmp()
比较两个 decimal 数值
deccopy()
复制 decimal 数值
deccvasc()
将 C char 类型转换为 decimal 类型
deccvdbl()
将 C double 类型转换为 decimal 类型
deccvint()
将 C int2 类型转换为 decimal 类型
deccvlong()
将 C int4 类型转换为 decimal 类型
decdiv()
两个 decimal 数值相除
dececvt()
将 decimal 值转换为 ASCII 字符串
decfcvt()
将 decimal 值转换为 ASCII 字符串
decmul()
两个 decimal 数值相乘
decround()
四舍五入 decimal 数值

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 598 -
函数名称
描述
decsub()
两个 decimal 数值相减
dectoasc()
将 decimal 类型转换为 ASCII 字符串
dectodbl()
将 decimal 类型转换为 C double 类型
dectoint()
将 decimal 类型转换为 C int 类型
dectolong()
将 decimal 类型转换为 C long 类型
dectrunc()
截断 decimal 数值
dtaddinv()
将 interval 值加到 datetime 值
dtcurrent()
取得当前日期和时间
dtcvasc()
将符合 ANSI 的字符串转换为 datetime
dtcvfmtasc()
将字符串转换为 datetime 值
dtextend()
更改 datetime 的限定符
dtsub()
从另一 datetime 减去一个 datetime 值
dtsubinv()
从 datetime 值减去 interval 值
dttoasc()
将 datetime 值转换为符合 ANSI 的字符串
dttofmtasc()
将 datetime 值转换为字符串
GetConnect()
请求显式的连接,并返回指向该连接信息的指针
ifx_cl_card()
返回指定的集合类型主变量的基数
ifx_dececvt()
将 decimal 值转换为 ASCII 字符串(线程安全版
本)
ifx_decfcvt()
将 decimal 值转换为 ASCII 字符串(线程安全版
本)
ifx_getcur_conn_name()
返回当前连接的名称
ifx_getenv()
检索环境变量的值
ifx_getserial8()
返回插入了的 SERIAL8 值
ifx_int8add()
将两个 int8 数值相加
ifx_int8cmp()
比较两个 int8 数值
ifx_int8copy()
复制 int8 数值
ifx_int8cvasc()
将 C char 类型值转换为 int8 类型值
ifx_int8cvdbl()
将 C double 类型值转换为 int8 类型值

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 599 -
函数名称
描述
ifx_int8cvdec()
将 C decimal 类型值转换为 int8 类型值
ifx_int8cvflt()
将 C float 类型值转换为 int8 类型值
ifx_int8cvint()
将 C int2 类型值转换为 int8 类型值
ifx_int8cvlong()
将 C int4 类型值转换为 int8 类型值
ifx_int8div()
两个 int8 数值相除
ifx_int8mul()
两个 int8 数值相乘
ifx_int8sub()
两个 int8 数值相减
ifx_int8soasc()
将 int8 类型值转换为文本字符串
ifx_int8sodbl()
将 int8 类型数值转换为 C double 类型值
ifx_int8sodec()
将 int8 类型值转换为 decimal 类型值
ifx_int8soflt()
将 int8 类型值转换为 C float 类型值
ifx_int8soint()
将 int8 类型值转换为 C int2 类型值
ifx_int8solong()
将 int8 类型值转换为 C int4 类型值
ifx_lo_alter()
修改现有的智能大对象的存储特征
ifx_lo_close()
关闭打开的智能大对象
ifx_lo_col_info()
将列级别存储特征取至 LO 规范结构内
ifx_lo_copy_to_file()
将智能大对象复制到操作系统文件
ifx_lo_copy_to_lo()
将操作系统文件复制到打开的智能大对象
ifx_lo_create()
为智能大对象创建 LO 描述符
ifx_lo_def_create_spec()
分配 LO 规范结构,并将它的字段初始化为空值
ifx_lo_filename()
返回生成的文件名称,
给定 LO 描述符和文件规范
ifx_lo_from_buffer()
将字节从用户定义的缓冲区复制到智能大对象
ifx_lo_open()
打开现有的智能大对象
ifx_lo_read()
从打开的智能大对象读取指定的字节数
ifx_lo_readwithseek()
在打开的智能大对象中寻找指定的文职,并读取指
定的字节数
ifx_lo_release()
释放与临时的智能大对象相关联的资源
ifx_lo_seek()
为了对打开的智能大对象的下一次读或写设置寻找
位置

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 600 -
函数名称
描述
ifx_lo_spec_free()
释放分配给 LO 规范结构的资源
ifx_lo_specget_estbytes()
从 LO 规范结构取得估计的字节数
ifx_lo_specget_extsz()
从 LO 规范结构取得分配 extent 大小
ifx_lo_specget_flags()
从 LO 规范结构缺的创建时间标志
ifx_lo_specget_maxbytes()
从 LO 规范结构取得最大字节数
ifx_lo_specget_sbspace()
从 LO 规范结构取得 sbspace 的名称
ifx_lo_specset_estbytes()
从 LO 规范结构设置估计的字节数
ifx_lo_specset_extsz()
在 LO 规范结构中设置分配 extent 大小
ifx_lo_specset_flags()
在 LO 规范结构中设置创建时间标志
ifx_lo_specset_maxbytes()
在 LO 规范结构中设置最大字节数
ifx_lo_specset_sbspace()
在 LO 规范结构中设置 sbspace 的名称
ifx_lo_stat()
返回关于打开的智能大对象的状态信息
ifx_lo_stat_atime()
返回智能大对象的最后访问时间
ifx_lo_stat_cspec()
对于指定的智能大对象,
将存储特征返回至 LO 规
范结构内
ifx_lo_stat_ctime()
对于智能大对象,返回最后的状态更改时间
ifx_lo_stat_free()
释放分配给 LO 状态结构的资源
ifx_lo_stat_mtime_sec()
对于智能大对象,返回以秒计的最后修改时间
ifx_lo_stat_refcnt()
返回对于智能大对象的引用计数
ifx_lo_stat_size()
返回智能大对象的大小
ifx_lo_tell()
返回打开的智能大对象的当前寻找位置
ifx_lo_to_buffer()
将字节从智能大对象复制至用户定义的缓冲区内
ifx_lo_truncate()
将智能大对象截断到特定的偏移量
ifx_lo_write()
将指定的字节数写到打开的智能大对象
ifx_lo_writewithseek()
在打开的智能大对象中寻找指定的位置,并写指定
的字节数
ifx_lvar_alloc()
当访存 lvarchar 数据时,指定是否分配内存
ifx_putenv()
修改或移除现有的环境变量,或创建一个新的
ifx_var_alloc()
为数据缓冲区分配内存

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 601 -
函数名称
描述
ifx_var_dealloc()
为数据缓冲区释放内存
ifx_var_flag()
确定是由 GBase 8s ESQL/C,还是由应用程序来为
数据缓冲区处理内存分配
ifx_var_getdata()
返回数据缓冲区的内容
ifx_var_getlen()
返回数据缓冲区的长度
ifx_var_isnull()
检查数据缓冲区中的数据是否为空
ifx_var_setdata()
为数据缓冲区设置数据
ifx_var_setlen()
设置数据缓冲区的长度
ifx_var_setnull()
将数据缓冲区中的数据设置为空值
incvasc()
将符合 ANSI 的字符串转换为 interval 值
incvfmtasc()
将字符串转换为 interval 值
intoasc()
将 interval 值转换为符合 ANSI 的字符串
intofmtasc()
将 interval 值转换为字符串
invdivdbl()
将 interval 值除以一个数值值
invdivinv()
将 interval 值除以一个 interval 值
invextend()
在不同的限定符之下复制 interval 值
invmuldbl()
interval 值乘以数值值
ldchar()
将定长字符串复制到以空结尾的字符串
rdatestr()
将内部的格式转换为字符串
rdayofweek()
返回星期几
rdefmtdate()
将字符串转换为内部的格式
rdownshift()
将所有字母转换为小写
ReleaseConnect()
关闭建立了的显式连接
rfmtdate()
将内部的格式转换为字符串
rfmtdec()
将 decimal 类型转换为格式化的字符串
rfmtdouble()
将 double 类型转换为字符串
rfmtlong()
将 int4 转换为格式化的字符串
rgetlmsg()
对于大型错误编号,检索错误消息
rgetmsg()
对于错误编号,检索错误消息

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 602 -
函数名称
描述
risnull()
检查 C 变量是否为空
rjulmdy()
返回来自内部格式的月、日和年
rleapyear()
确定指定的年是否为闰年
rmdyjul()
从月、日和年返回内部的格式
rsetnull()
将 C 变量设置为空
rstod()
将字符串转换为 double 类型
rstoi()
将以空结尾的字符串转换为 int2
rstol()
将字符串转换为 int4
rstrdate()
将字符串转换为内部的格式
rtoday()
以内部的格式返回系统日期
rtypalign()
将数据对其恰当的类型边界
rtypmsize()
给定 SQL 数据类型的字节大小
rtypname()
返回指定的 SQL 类型的名称
rtypwidth()
给定最小转换字节大小
rupshift()
将所有字母转换为大写
SetConnect()
将连接切换到建立了的(休眠的)显式连接
sqgetdbs()
返回数据库服务器可连接的数据库的名称
sqlbreak()
发送请求给数据库服务器,来停止处理
sqlbreakcallback()
提供返回控制的方法给应用程序,在它等待数据库
服务器处理 SQL 请求时
sqldetach()
将子进程从父进程脱离
sqldone()
确定数据库服务器当前是否正在处理 SQL 请求
sqlexit()
终止数据库服务器进程
sqlsignal()
执行信号处理和子进程清理
sqlstart()
启动数据库服务器进程
stcat()
将一个字符串连接到另一个
stchar()
将以空结尾的字符串复制到定长字符串
stcmpr()
比较两个字符串
stcopy()
将一个字符串复制到另一字符串

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 603 -
函数名称
描述
stleng()
对字符串中的字节数计数

No more tokens are found in DBDATE string representation of a date value
发生此错误的原因是指定的日期字符串没有更多所需的标记或分隔符来基于 DBDATE 格
式字符串形成一个有效的日期值
(由年、
月和日组成)

例如,
当 DBDATE 设置为 MDY2/ 时
12/15/98 是有效的日期字符串表示形式。但是 12/1598 是一个无效的日期字符串表示形式,
因为没有足够多的分隔符或标记。
要修复此问题,请修改日期字符串表示形式,使其包含有效的格式,基于 DBDATE 格式字
符串设置来分隔日期值的日、月和年部分。


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

GBA-01EX-0002
错误码
错误标识
错误信息
GBA-01EX-000
2
ER_SUBQUERY_ON
E_ROW
subquery return more than 1 row
错误出现原因
应返回一条记录的子查询,却返回了多条记录
分析与建议
请检查数据及sql 是否正确。