5)测试函数:主要用来测试当前操作对象的状态。11个
& 值域测试函数
格式:between(表达式1,表达式2,表达式3)
功能:判断表达式1的值是否在表达式2和表达式3的值之间,若表达式1的值大于等于表达式2的值并且小于等于表达式3的值,那么函数值为逻辑真,否则为逻辑假。若表达式2和表达式3的值中有一个是null值,那么函数值也为null值
结果:L型或null值
& null值测试函数
格式:isnull(表达式)
功能:判断表达式的运算结果是否为null值,是则返回逻辑真,否则逻辑假
结果:L型
& “空值”测试函数
格式:empty(表达式)
功能:判断指定表达式的运算结果是否为“空值”,是则返回逻辑真,否则逻辑假
结果:L型
注意:不同类型数据的“空”值规定:
& 数据类型测试函数
格式:vartype(表达式)
功能:测试指定表达式的类型,返回一个大写字母表示某个类型的数据
结果:C型
注意:各大写字母的含义如下:
C——字符型或备注型 N——数值型、整型、浮点型或双精度型
Y——货币型 L——逻辑型
O——对象型 G——通用型
D——日期型 T——日期时间型
X——null值 U——未定义
注意:关于表文件也有一系列的测试函数,vf为每个打开的表设置了一个内部记录指针,指向正在被操作的记录,该记录称为当前记录,记录指针的作用是标识表的当前记录。
表文件的逻辑结果如下图所示:
文件开始标识(表文件首/BOF)
文件结束标志(表文件尾/EOF)
& 表文件首测试函数
格式:bof([工作区号/表别名])
功能:测试指定表文件中的记录指针是否
指向文件首,是则返回逻辑真,否
则返回逻辑假
结果:L型
注意:若缺省自变量则测试当前表文件
若表文件中不包含任何记录则 函数返回逻辑真
& 表文件尾测试函数
格式:eof([工作区号/表别名])
功能:测试指定表文件中的记录指针是否指向文件尾,是则返回逻辑真,否则返回逻辑假
结果:L型
注意:若缺省自变量则测试当前表文件
若表文件中不包含任何记录则函数返回逻辑真
& 记录号测试函数
格式:recno([工作区号/表别名])
功能:测试指定表文件中当前记录指针所指记录的记录号
结果:N型
注意:若缺省自变量则测试当前表文件
若指定工作区没有打开的表文件,函数值为0
若bof()返回.t.即指针指向文件首,函数值为1
若eof()返回.t.即指针指向文件尾,函数值为总记录+1
& 记录个数测试函数
格式:reccount([工作区号/表别名])
功能:返回指定表文件中的记录个数
结果:N型
注意:若缺省自变量则测试当前表文件
若指定工作区没有打开的表文件,函数值为0
& 条件测试函数
格式:iif(逻辑表达式,表达式1,表达式2)
功能:测试逻辑表达式的值,若为逻辑真,函数返回表达式1的值,若为逻辑假,函数返回表达式2的值
结果:根据表达式1和表达式2的类型而定
注意:表达式1和表达式2的类型不要求相同
& 记录删除测试函数
格式:deleted([工作区号/表别名])
功能:测试指定的表文件中的当前记录是否有逻辑删除标记,有则返回逻辑真,没有则返回逻辑假
结果:L型
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |