9.3.2 如果程序检索到 NULL 值,该怎么办?
可在数据库中存储 NULL 值,但编程语言支持的数据类型不识别 NULL 状态。程序必须
采用某种方式来识别 NULL 项,以免将它作为数据来处理。
在 SQL API 中,指示符变量满足此需要。指示符变量是与可能收到 NULL 项的主变量相
关联的一个附加的变量。当数据库服务器将数据放在主变量中时,它还在指示符变量中放
置一个特殊的值来展示该数据是否为 NULL。在下列 GBase 8s ESQL/C 示例中,选择单个
行,并将单个值检索到主变量 op_date 内:
EXEC SQL SELECT paid_date
INTO :op_date:op_d_ind
FROM orders
WHERE order_num = $the_order;
if (op_d_ind < 0) /* data was null */
rstrdate ('01/01/1900', :op_date);
语句该值可能为 NULL,名为 op_d_ind 的指示符变量与该主变量相关联。(必须在程序中
的其他地方将它声明为以短整数。)
跟在 SELECT 语句的执行之后,程序测试该指示符变量为负值。负值(通常为 -1)意味着
检索到主变量内的值为 NULL。如果该变量为 NULL,则此程序使用 GBase 8s ESQL/C 库
函数来将缺省的值指定给主变量。(函数 rstrdate 是 GBase 8s ESQL/C 产品的一部分。)
您用来将指示符变量与主变量相关联的语法,不同于您正在使用的语言,但在所有语言中,
该原则是相同的。
GBase 8s V8.8 SQL 指南:教程-9.3.2
最新推荐文章于 2022-07-01 14:34:05 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)