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结尾 |
包含空白字符 |
【database|ESQLC数据类型 - string类型】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;
推荐阅读
- gbase|GBASE 8s ESQLC数据类型 - 字符串的库函数
- database|GBase 8s 高可用简介
- 安全|GBase 8s ESQLC创建线程安全的应用程序
- 安全|GBase8s ESQL/C 跨线程连接
- 数据库|GBase 8s MPP产品简介
- 离线数仓|Hive 3.1.2 数仓基本概念 大致分层
- MySQL|第1章 数据库系统概论---数据库与机器学习
- Milvus 图形化管理工具 Attu 来袭!
- 算法|开学季——经典计算机教材带你起飞!