vfp 中空值得含义

我想知道它具体的含义,越详细越好,谢谢!

概要
Microsoft Visual FoxPro 3.0 版本支持空数据值。 在 3.0 之前版本的 FoxPro 是否不直接支持空数据值。 本文介绍一般规则 VisualFoxPro 遵循用于处理空值 (以表示) NULL 当它们传递到 VisualFoxPro 命令或函数。
回到顶端

更多信息
使用空 value (.NULL.) 值当值是缺少、 无关, 或未知。 在早期版本的 FoxPro, 用空格或零, 可能已被误解其已通常表示了未知或缺少值。 字段中与 VisualFoxPro, 可以现在存储空值。

最好注意 VisualFoxPro 中空 value (.NULL.) 是同空, 空白, 或零值。 Null 表示缺少对值, 因此等于, 大于, 从不是空或少于其他值, 空或非空。 空值视觉 FoxPro 支持以 ANSI 遵从并影响任何区域的产品使用值和表达式。
回到顶端

有关空值一般规则
下面是用于空值传递到 VisualFoxPro 命令或函数一般规则:

• 命令产生传递空时错误。
• 函数接受空值返回 NULL。 作为结果。
• 如果以提供函数要求数字值将产生错误。
• ISBLANK()、 ISDIGIT()、 ISLOWER() 每 ISUPPER()、 ISALPHA(), 和 EMPTY() 返回 false (传递空值时) F。。
• ISNULL() 返回 true (T) 传递空值时。
• 通过 IS NULL 和 IS NOT 命令 INSERTSQL 和 SELECT SQL 过程空值 NULL 子句。
• SQL 聚合函数, 如 MAX()、 MIN(,) 和 SUM() 中 aggregate 忽略所有空值。
• Visual FoxPro 聚合函数传播 NULL。 如果所有提供值是空值, 否则, 忽略所有空值。
对于这些一般规则部份本文提供详细信息和示例。
回到顶端

命令生成传递空时错误
VisualFoxPro 命令是语句导致该操作。 命令的示例是 USE、 BROWSE, 和 DELETE。 例如, USE 命令返回错误有关此代码:
STORE .NULL. TO nWorkArea
USE mytable IN (nWorkArea)

IN 子句的 USE 命令需要数字或 alpha 值, 当传递 NULL。 " 表号码是无效 " 是生成错误。

可能 NVL() 函数是用于从计算或操作不支持空值, 或是不相关删除空值。
STORE .NULL. TO nWorkArea
USE mytable IN NVL(nWorkArea,0)

这将在第一个可用 workarea 打开 mytable。 请请参阅帮助文件或 VisualFoxPro 文档有关 NVL() 函数。
回到顶端

函数接受 Null 值返回 NULL。 如 Result
VisualFoxPro 函数是例程执行特定任务并接受零个或多个参数。 函数的示例包括 ISBLANK() UPPER(), 和 SUBSTR()。 大多数 VisualFoxPro 函数允许空值以不生成错误, 但是作为参数传递 NULL。 从函数返回。 换句话说, 当空值传递给函数, 结果是始终空。 这也是如何空值处理数学等式中。 例如等于 null, null 值添加到 500 和空值乘以零等于空 (零) 不。

以下示例代码返回 NULL:
cLastName = "Johnson"
nBegin = 5
nExtract = .NULL.
?SUBSTR(cLastName,nBegin,nExtract)

例外到此规则是 ISBLANK() ISDIGIT()、 ISLOWER()、 ISUPPER()、 ISALPHA(), 和 EMPTY() 函数 - F . 值各种哪些返回。 ISNULL() 函数返回 T 值。
回到顶端

通过使用新子句 INSERTSQL 和 SELECT SQL 处理空值
两个新子句 (ISNULL 和 ISNOTNULL) 处理空 INSERT 和 SELECT SQL 命令中。 例如, 来定位 cLastName 是非空, 表中所有记录使用此命令:
SELECT cLastName FROM mytable WHERE cLastName IS NOT NULL

要查找空值, 请使用 ISNULL 子句。
回到顶端

SQL 聚合函数忽略空值
一个聚合函数是对一组 (聚合) 的值执行数字操作 (如加法, 小、 最, 或平均函数。 聚合函数的示例包括 MAX()、 MIN(,) 和 SUM()。

SELECT SQL 命令, 例如, 可使用聚合函数来从表中检索数值。 以下 SELECT 命令例如, 从名为 nYTDSales 字段返回最大值:
SELECT MAX(nYTDSales) from mytable

包含字段上执行任何 SQL 聚合函数 NULL。 忽略值 NULL。 不属于聚合 (是) 值, 返回结果, 将空 valuses 视为它们不存在。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-04
一个字段重来没有赋值就是NULL