计算机VFP,全称Visual FoxPro,是一种关系型数据库管理系统,由Microsoft开发。VFP中的一个重要概念是空值(NULL),它表示数据的缺失或不确定。NULL不同于任何其他数据,不能将其误解为0或其他数值。在VFP中,判断是否为空值通常使用isnull()函数,而empt()函数则用于测试字段是否为空字符串。
1. **isnull()函数**:这个函数用于测试变量或字段是否为空值。当变量或字段的值为NULL或.NULL.时,isnull()返回真(.T.)。例如,`ISNU(NULL)`会返回真,而`EMPT(NULL)`则返回假,因为EMPT()主要用来检测空字符串而非空值。
2. **变量赋值为空值**:在VFP中,可以将变量设置为空值,如`A=.NULL.`,之后使用isnull()测试变量A会返回真,而empt()测试则返回假。
3. **字段设置为空值**:在表设计器中,需要先允许字段接受空值,然后可以通过REPL或UPDA命令将字段值替换为空。例如,可以使用`REPL 计算机等级 WITH NULL`或`UPDA 学生信息 SET 计算机等级 = NULL WHERE RECNO()=2`将特定记录的“计算机等级”字段设为空。
4. **表达式逻辑操作**:VFP中的逻辑表达式包括NOT、AND和OR操作符。在提供的习题中,涉及了这些操作符的组合使用,以及与EMPTY()、ISNULL()等函数的结合,用于测试不同条件。
5. **常量与数据类型**:VFP中有多种常量,包括逻辑常量(如`.T.`表示真,`.F.`表示假)、字符常量(用引号括起来的文本,如`"T"`)和数值常量。例如,`.T.`、`[T]`和`"T"`都是常量,但无引号的`T`不是。
6. **函数返回值的数据类型**:DTOC()、DATE()、YEAR()等函数返回不同的数据类型。例如,DTOC()将日期转换为字符,DATE()返回当前日期,YEAR()返回日期的年份部分。
7. **运算符优先级**:在VFP中,逻辑运算符的优先级遵循NOT → AND → OR的顺序。
8. **字符串匹配**:VFP中的`$`运算符用于子串查找。如果在字符串`X`中查找`Y`,则`Y $ X`会返回真或假,取决于`Y`是否是`X`的子串。
9. **日期和字符串操作**:RIGHT()和SUBSTR()函数分别用于从右边和任意位置提取字符串的一部分。在给定的例子中,两者都能从“VisualFox”中获取最后三个字符。
10. **Vartype()函数**:此函数返回变量的数据类型。对于日期类型,Vartype()会返回字符“N”。
通过这些习题,我们可以深入理解VFP中的数据类型、空值处理、逻辑表达式、字符串操作、日期函数以及变量的使用等方面的知识。这些基础概念在VFP的实际应用和数据库管理中至关重要。