全国计算机等级考试(二级Visual FoxPro) 变量、表达式、函数
15.5 abc 2 汽车
7.求最小值函数:
格式:☆MIN(<表达式1>,<表达式2>,……) 参数类型:N 函数值类型:N 作用:求各表达式中最小值。
说明:
? 表达式可以是:字符型、数值型、货币型、双精度型、浮点型、日期型、日期时间型; ? 所有表达式的类型必须相同。 3.2 字符函数:
1.字符串长度函数:
格式:★LEN(<字符表达式>) 参数类型:C 函数值类型:N 作用:求<字符表达式>的字符长度(字符数) 说明:空字符串的长度为0 例题:x=\中文Visual FoxPro6.0\
? Len(x) 20 2.大小写转换函数:
格式:☆UPPER(<字符表达式>) 参数类型:C 函数值类型:C 作用:将<字符表达式>中的小写字符变为大写字符 说明:其它字符不变
例题:? Upper(\中文Visual FoxPro6.0\ 中文VISUL FOXPRO6.0
格式:☆LOWER(<字符表达式>) 参数类型:C 函数值类型:C 作用:将<字符表达式>中的大写字符变为小写字符 说明:其它字符不变
3.空格字符串生成函数:
格式:☆SPACE(<数值表达式>) 参数类型:N 函数值类型:C 作用:返回指定数目的空格
说明:空格数与<数值表达式>的值相同
4.删除前后空格函数:
格式:★TRIM(<字符表达式>) 参数类型:C 函数值类型:C 作用:去掉<字符表达式>尾部空格 说明:其他空格保留(不去除) 例题:? \ abc 123 abc123
格式:☆RTRIM(<字符表达式>) 参数类型:C 函数值类型:C 作用:去掉<字符表达式>尾部空格 说明:其他空格保留(不去除)
格式:☆LTRIM(<字符表达式>) 参数类型:C 函数值类型:C 作用:去掉<字符表达式>前导部空格 说明:其他空格保留(不去除)
格式:☆ALLTRIM(<字符表达式>) 参数类型:C 函数值类型:C 作用:去掉<字符表达式>前导空格和尾部空格
书香苑shuxiangyuan -19– 学习网址:www.shuxiangyuan.net
全国计算机等级考试(二级Visual FoxPro) 变量、表达式、函数
说明:中间空格保留(不去除)
5.取子串函数:
格式:★LEFT(<字符表达式>,<长度>) 参数类型:C 函数值类型:C 作用:从<字符表达式>左边取若干字符
说明:如果<字符表达式>字符数目小于<长度>时,则取出所有字符 例题:? Left(\中文Visual FoxPro6.0\ 中文
格式:★RIGHT(<字符表达式>,<长度>) 参数类型:C 函数值类型:C 作用:从<字符表达式>右边取若干字符
说明:如果<字符表达式>字符数目小于<长度>时,则取出所有字符 例题:? Right(\中文Visual FoxPro6.0\ O6.0
格式:★SUBSTR(<字符表达式>,<起始位置> [,<长度>]) 参数类型:C 函数值类型:C 作用:从<字符表达式>中某位置开始取若干字符 说明:若缺省<长度>参数,则取到末尾 例题:? Left(\中文Visual FoxPro6.0\ Visual
6.求子串位置函数:
格式:★AT(<字符表达式1>, <字符表达式2>) 参数类型:C 函数值类型:N 作用:返回<字符表达式1>的首字符在<字符表达式2>中的位置 说明:
? 若<字符表达式1>没有包含在<字符表达式2>中,则函数值为0; ? “字符表达式”区分大小写
例题:? AT(\), AT(\) 3 0
7.子串替换函数:
格式:★STUFF(<字符表达式1>,<起始位置>,<长度>,<字符表达式2>)参数类型:C 函数值类型:C 作用:用<字符表达式2>替换<字符表达式1>中从<起始位置>开始的若干字符,替换的字符数由<长度>给出
说明:若<长度>为0,则将<字符表达式2>插入到<字符表达式1>中<起始位置>处。 例题:? Stuff(\中文Visual FoxPro6.0\) 中文Turbo6.0
8.字符串匹配函数:
格式:★LIKE(<字符表达式1>,<字符表达式2>) 参数类型:C 函数值类型:.T./.F. 作用:比较两个字符串对应位置上的字符,若所有对应字符都匹配,函数返回逻辑真,否则返回逻辑假
说明:<字符表达式1>中可以包含通配符*和?。 例题:? Like(\) .T. 3.3 日期时间函数:
1.系统日期、时间函数:
格式:★DATE() 参数类型:无 函数值类型:D 作用:获取系统当前日期 例题:? Date()
书香苑shuxiangyuan -20– 学习网址:www.shuxiangyuan.net
全国计算机等级考试(二级Visual FoxPro) 变量、表达式、函数
10/12/07
格式:☆TIME() 参数类型:无 函数值类型:C 作用:获取系统当前时间 例题:?Time() 12:13:16
格式:DATETIME() 参数类型:无 函数值类型:T 作用:获取系统当前日期与时间 例题:? Datetime()
10/12/07 12:13:45 PM
2.求年份、月份、天数函数:
格式:★YEAR(<日期表达式>|<日期时间表达式>) 参数类型:D/T 函数值类型:N 作用:从指定的<日期表达式>或<日期时间表达式>获取年份 例题:? Year({^2007.12.11})-1 2006
格式:★MONTH(<日期表达式>|<日期时间表达式>) 参数类型:D/T 函数值类型:N 作用:从指定的<日期表达式>或<日期时间表达式>获取月份 例题:? Month({^2007.12.11}) 12
格式:☆DAY(<日期表达式>|<日期时间表达式>) 参数类型:D/T 函数值类型:N 作用:从指定的<日期表达式>或<日期时间表达>式获取天 例题:? Day({^2007.12.11}) 11
3.时、分、秒函数:
格式:HOUR(<日期时间表达式>) 参数类型:T 函数值类型:N 作用:从指定的<日期时间表达式>获取小时部分 说明:函数值为24小时制
格式:MINUTE(<日期时间表达式>) 参数类型:T 函数值类型:N 作用:从指定的<日期时间表达式>获取分钟部分
格式:SEC(<日期时间表达式>) 参数类型:T 函数值类型:N 作用:从指定的<日期时间表达式>获取秒数部分 3.4 数据类型转换函数:
1.数值转换成字符串函数:
格式:★STR(<数值表达式>[,<长度>[,<小数位>]]) 参数类型:N 函数值类型:C 作用:将<数值表达式>的值转换成字符型数据
说明:
? 转换时根据需要自动进行四舍五入;
? 返回字符串的理想长度L =<数值表达式>值的整数部分位数+<小数位数>+1(小数点); ? 如果<长度>大于L,则字符串加前导空格以满足规定的<长度>要求;
? 如果<长度>值大于等于<数值表达式>值的整数部分位数(包括负号)但又小于L,则优先满足整
数部分而自动调整小数位数;
? 如果<长度>值小于<数值表达式>值的整数部分位数,则返回相应数量的星号(*)。 例题:? Str(123.456,6,2), Str(123.456,5,2), Str(123.456,4,2), Str(123.456,2,2) 123.46 123.5 123 **
书香苑shuxiangyuan -21– 学习网址:www.shuxiangyuan.net
全国计算机等级考试(二级Visual FoxPro) 变量、表达式、函数 2.字符串转换成数值函数:
格式:★VAL(字符表达式) 参数类型:C 函数值类型:N 作用:将<字符表达式>的值转换成数值型数据 说明:
? 如果字符串内出现非数字字符,则只转换前面部分;
? 若<字符表达式>的首字符不是数字符号,则返回数值零,但忽略前导空格。 例题:? Val(\),Val(\),Val(\中国\) 123.40 123.00 0.00
3.字符串转换成日期或日期时间函数:
格式:☆CTOD(字符表达式) 参数类型:C 函数值类型:D 作用:将<字符表达式>的值转换成日期型数据
说明:
? “字符表达式”必须是日期格式,如:\;
? 如果“字符表达式”的格式不符合日期格式,将转换出空日期。 例题:? Ctod(\ 12/21/07 / /
格式:☆CTOT(字符表达式) 参数类型:C 函数值类型:T 作用:将<字符表达式>的值转换成日期时间型数据
4.日期或时间转换成字符串函数:
格式:☆DTOC(日期表达式|日期时间表达式[,1]) 参数类型:D 函数值类型:C 作用:将<日期表达式>或<日期时间表达式>的值转换成字符型数据 例题:下列程序执行后的输出结果为:
a={^2007.12.31}
? Dtoc(A)
A.12/31/07 B.2007/12/31 C.31/12/07 D.12.31.07 格式:TTOC(日期时间表达式[,1]) 参数类型:T 函数值类型:C 作用:将<日期时间表达式>的值转换成字符型数据
5.宏替换函数:
格式:★ &<字符型变量>[.]: 参数类型:C 函数值类型:C/N/D/T 作用:替换出<字符型变量>的内容,即&的值是变量中的字符串。 说明:
? 如果该函数与其后的字符无明确分界,则要用“.”作函数结束标识。 ? 宏替换可以嵌套使用。 例题1:A=123
B=\? &A 123
例题2:
DB = \职工\USE &DB
XM = \姓名\?&XM - \你好!\李小明你好! SKIP
书香苑shuxiangyuan -22– 学习网址:www.shuxiangyuan.net
全国计算机等级考试(二级Visual FoxPro) 变量、表达式、函数
? XM,&XM ? xm,姓名 姓名 李新
3.5 测试函数:
1.空值(NULL值)测试函数:
格式:★ISNULL(<表达式>) 参数类型:C/N/Y/F/I/B/D/T/L/M
函数值类型:.T./.F.
作用:若<表达式>的值为null则返回.T.,否则返回.F. 说明:此函数如果用于检测其它非null数据,将全部返回.F. 例题:? isnull(.null.),isnull(12),isnull(\
.T. .F. .F.
2.“空”值测试函数:
格式:★EMPTY(<表达式>) 参数类型:C/N/Y/F/I/B/D/T/L/M
函数值类型:.T./.F. 作用:若<表达式>的值为“空”则返回.T.,否则返回.F. 数据类型 数值型 字符型 货币型 浮点型 整型 “空”值 0 空串、空格、制表符、回车、换行 0 0 0 数据类型 双精度型 日期型 日期时间型 逻辑型 备注字段 “空”值 0 空(如CTOD(\) 空(如CTOT(\) .F. 空(无内容) 例题:? Empty(\ .T. .T. .F. .T. .T.
3.数据类型测试函数:
格式:VARTYPE(<表达式>[,<逻辑表达式>]) 参数类型:C/N/Y/L/O/G/D/T/X/U
函数值类型:C/N/Y/L/O/G/D/T/X/U 作用:返回<表达式>的数据类型 返回的字母 C N Y L O 说明:注意与TYPE()的区别 格式:★TYPE(\表达式>\参数类型: 函数值类型: 作用:返回<表达式>的值的数据类型 说明:括号中的引号(\)不能少 例题:A=123
? TYPE(\N
4.表文件尾测试函数:
数据类型 字符型或备注型 数值型、整型、浮点型、双精度型 货币型 逻辑型 对象型 返回的字母 G D T X U 数据类型 通用型 日期型 日期时间型 Null值 未定义 格式:★EOF([<工作区号>|<表别名>]) 参数类型:N/C 函数值类型:.T./.F.
书香苑shuxiangyuan -23– 学习网址:www.shuxiangyuan.net
全国计算机等级考试(二级Visual FoxPro) 变量、表达式、函数
作用:测试当前工作区或<工作区号>|<表别名>工作区数据表文件指针是否指向文件尾 说明:若指向文件尾返回.T.,否则返回.F.
5.表文件首测试函数:
格式:★BOF([<工作区号>|<表别名>]) 参数类型:N/C 函数值类型:.T./.F. 作用:测试当前工作区或<工作区号>|<表别名>工作区数据表文件指针是否指向文件首 说明:若指向文件首返回.T.,否则返回.F.
6.记录号测试函数:
格式:★RECNO([<工作区号>|<表别名>]) 参数类型:N/C 函数值类型:N 作用:返回当前工作区或<工作区号>|<表别名>工作区数据表文件指针指向的记录号 说明:
? 若没有打开表,则返回0;
? 若指针指向文件尾,则返回记录数加1;
? 若指针指向文件首,则返回第一号记录的记录号
7.记录个数测试函数:
格式:☆RECCOUNT([<工作区号>|<表别名>]) 参数类型:N/C 函数值类型:N 作用:返回当前工作区或<工作区号>|<表别名>工作区数据表文件记录总数 说明:不受删除标记的影响
8.条件测试函数:
格式:★IIF(<逻辑表达式>,<表达式1>,<表达式2>) 参数类型:C/N/Y/L/D/T/I/F/B
函数值类型:C/N/Y/L/D/T/I/F/B 作用: 根据<逻辑表达式>的值决定用<表达式1>的值还是<表达式2>的值作为函数返回值 说明:若<逻辑表达式>的值为.T.则返回<表达式1>的值,否则返回<表达式2>的值 例题:? iif(3>4,\正确\错误\ 错误
9.记录删除测试函数:
格式:★DELETE([<工作区号>|<表别名>]) 参数类型:N/C 函数值类型:.T./.F. 作用:测试当前工作区或<工作区号>|<表别名>工作区数据表文件当前指针所指向的记录是否有删除标记
说明:有删除标记返回.T.,否则返回.F.
书香苑shuxiangyuan -24– 学习网址:www.shuxiangyuan.net