GBase8s ESQL/C字符串数据类型
GBase8s ESQL/C支持5种字符串数据类型, 如果在数据库的列中使用字符串类型,例如CHAR或者VARCHAR, 以下ESQL/C字符串类型可以使用:
- C语言的char类型
- GBase8s ESQL/C预定义类型, fixchar, string, varchar
- lvarchar数据类型
具体使用那种数据类型,参考以下条件:
- 是否希望ESQL/C使用空字符来作为字符串的结束符。
- 是否希望使用空白字符填充。
ESQL/C 字符串类型
ESQL/C 字符串类型 |
Null结尾 |
包含空白字符 |
char |
Y |
Y |
fixchar |
|
Y |
string |
Y |
只有在列中包含空白字符时,才会包含空白字符, 不会自动添加空白字符。 |
varchar |
Y |
Y |
lvarchar |
Y |
|
string数据类型
string类型是GBase8s ESQL/C预定义数据类型,保存以null终止符结尾,并且不填充空白字符的字符串。
当然, 如果数据库中的列保存的是空白字符, 使用string类型接收该数据时, string中也会包含空白字符。
当应用程序从CHAR列中获取数据并保存到string类型的变量中时, CHAR列中末尾的空白字符会被删除,并添加null终止字符。该行为与应用程序从VARCHAR列读取内容,保存到string类型的变量中一致。
如果环境变量BLANK_STRINGS_NOT_NULL设定为1或者其他任何值, string类型的变量保存一个空白字符和一个null终止字符。
声明string类型的长度为n+1, 其中n为数据库中列的长度,这样就可以保存null终止字符。
使用下面的格式声明string类型的变量.
EXEC SQL BEGIN DECLARE SECTION;
String str_name[n+1];
EXEC SQL END DECLARE SECTION;
版权声明:本文为weixin_57486087原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。