暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase8s ESQLC数据类型 - varchar类型

Dr.王 2022-01-21
856

 GBase8s ESQL/C支持5种字符串数据类型, 如果在数据库的列中使用字符串类型,例如CHAR或者VARCHAR, 以下ESQL/C字符串类型可以使用:

1. C语言的char类型

2. GBase8s ESQL/C预定义类型, fixchar, string, varchar

3. lvarchar数据类型

 

具体使用那种数据类型,参考以下条件:

1. 是否希望ESQL/C使用空字符来作为字符串的结束符。

2. 是否希望使用空白字符填充。

 

ESQL/C 字符串类型

ESQL/C 字符串类型

Null结尾

包含空白字符

char

Y

Y

fixchar

 

Y

string

Y

只有在列中包含空白字符时,才会包含空白字符, 不会自动添加空白字符。

varchar

Y

Y

lvarchar

Y

 

 

varchar数据类型

varchar数据类型是GBase8s ESQL/C定义的数据类型,用来保存变长字符串。

当应用程序从数据库的CHAR列获取数据到varchar类型的变量中时,GBase8s ESQL/C删除末尾的空白字符并添加null终止字符。行为与应用程序读取VARCHAR列到varchar类型的变量一致。

 

声明varchar类型变量的长度为n+1, n就是数据库列的长度,包含了null终止字符。

使用下面的格式声明varchar类型。

EXEC SQL BEGIN DECLARE SECTION;

  Varchar varc_name[n+1];

EXEC SQL END DECLARE SECTION;

 

VARCHAR宏

GBase8s 包含varchar.h头文件,文件中包含如下宏定义

宏名称

描述

MAXVCLEN

VARCHAR列中保存的最大字符数。

VCLENGTH(s)

定义的变量长度。

VCMIN(s)

VARCHAR列中应该保存的最小字符数。

VCMAX(s)

VARCHAR列中能够保存的最大字符数

VCSIZ(min, max)

编码后的SIZE值,基于VARCHAR列的最小保留长度和最大长度。是一个4byte值,头两个byte为VARCHAR保留长度, 后两个byte为VARCHAR最大长度。

详细使用方法请参照CSDK安装目录下/demo/esqlc/varchar.ec。

 

当环境变量IFX_PAD_VARCHAR设定为1, 客户端将发送添加空白字符的VARCHAR类型数据到服务器端。

 

最后修改时间:2022-01-21 17:08:32
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论