SQL 编程 / 检索单行 |
可在数据库中存储 NULL 值,但编程语言支持的数据类型不识别 NULL 状态。程序必须采用某种方式来识别 NULL 项,以免将它作为数据来处理。
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 产品的一部分。)
您用来将指示符变量与主变量相关联的语法,不同于您正在使用的语言,但在所有语言中,该原则是相同的。