GBase8s ESQL/C 使用boolean数据类型来处理SQL BOOLEAN数据类型。
使用如下的格式声明ESQL/C的boolean数据类型。
EXEC SQL BEGIN DECLARE SECTION;
boolean flag;
EXEC SQL END DECLARE SECTION;
在GBase8s ESQL/C程序中, 下面的值是唯一有效的boolean类型的值
TRUE ‘\1’
FALSE ‘\0’
NULL 调用用rsetnull()函数,并且第一个参数为CBOOLTYPE
如果想将‘T’,‘F’插入BOOLEAN类型的列中,需要声明fixchar类型的变量,数据库服务器会将fixchar类型的值转换并插入BOOLEAN类型的列中。
下面的例子展现了如何使用boolean类型
EXEC SQL BEGIN DECLARE SECTION;
boolean flag;
fixchar my_boolflag;
int id;
EXEC SQL END DECLARE SECTION;
id = 1;
flag = ‘\0’; /* valid boolean assignment to FALSE */
EXEC SQL insert into table2 values(:id, :flag); /* inserts FALSE */
id = 2;
rsetnull(CBOOLTYPE, (char*)&flag); /* valid boolean assignment to NULL */
EXEC SQL insert into table2 values(:id, :flag); /* inserts NULL */
id = 3;
my_boolflag = ‘T’; /* valid boolean assignment to TRUE */
EXEC SQL insert into table2 values(:id, :my_boolflag);/* inserts TRUE */