可在数据库中存储 NULL 值,但编程语言支持的数据类型不识别 NULL 状态。程序必须 采用某种方式来识别 NULL 项,以免将它作为数据来处理。
在 SQL API 中,指示符变量满足此需要。指示符变量是与可能收到 NULL 项的主变量相 关联的一个附加的变量。当数据库服务器将数据放在主变量中时,它还在指示符变量中放 置一个特殊的值来展示该数据是否为 NULL。在下列 GBase 8s ESQL/C 示例中,选择单个 行,并将单个值检索到主变量 op_date 内:
语句该值可能为 NULL,名为 op_d_ind 的指示符变量与该主变量相关联。(必须在程序中 的其他地方将它声明为以短整数。)
跟在 SELECT 语句的执行之后,程序测试该指示符变量为负值。负值(通常为 -1)意味着 检索到主变量内的值为 NULL。如果该变量为 NULL,则此程序使用GBASE南大通用 GBase 8s ESQL/C 库 函数来将缺省的值指定给主变量。(函数 rstrdate 是GBASE南大通用 GBase 8s ESQL/C 产品的一部分。)
您用来将指示符变量与主变量相关联的语法,不同于您正在使用的语言,但在所有语言中, 该原则是相同的。