UPPER(<字符表达式>) 将小写字母转换为大写
AT(<字符表达式1>,<字符表达式2>[,<数值表达式>])
返回字符串<字符表达式1>,在<字符表达式2>中第<数值表达式>次出现的起始位
置,若<字符表达式2>不包含<字符表达式1>,则函数值为0。
LEFT(<字符表达式><数值表达式>):
返回<字符表达式>左起<数值表达式>个字符的子串 RIGHT(<字符表达式><数值表达式>):
返回<字符表达式>右起<数值表达式>个字符的子串 SUBSTR(<字符表达式>,<数值表达式1>[,<数值表达式2>])
返回<字符表达式>中第<数值表达式1>位起的长度为<数值表达式2>的子串 ALLTRIM(<字符表达式>) 删除字符串前导和末尾的空格 三、 日期时间函数
CTOD(<字符表达式>): 将<字符表达式>转换为日期 DTOC(<日期表达式>): 将<日期表达式>转换为字符串
DTOS(<日期表达式>): 将<日期表达式>转换为YYYYMMDD格式字符串 TIME() : 以HH:MM:SS的格式返回系统当前时间 DATE() : 返回系统的当前日期 DATETIME(): 返回系统的当前日期及时间 YEAR(<日期表达式>): 返回<日期表达式>所指的年份 MONTH(<日期表达式>): 返回<日期表达式>所指的月份 DAY(<日期表达式>): 返回<日期表达式>所指的日 HOUR(<日期时间表达式>):返回<日期时间表达式>所指的小时 MINUTE(<日期时间表达式>):返回<日期时间表达式>所指的分 SEC(<日期时间表达式>): 返回<日期时间表达式>所指的秒
四、 数据类型转换函数
在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的需要。VFP系统提供了若干个转换函数,较好地解决了数据类型转换的问题。 1、字符串转换为数值函数 格式:VAL(<数字字符串>)
功能:将数字字符串(包括正负号、小数点)转换为对应的数值型数据。若字符串内出现非数字,字符就停止转换;若字符串的首字符为非数字符,则返回值为0,但忽略前导空格
2、数值转换成字符串函数
格式:STR(<数值型表达式>[,<长度>,[,<小数位数>]])
功能:将<数值型表达式>的值转换成字符串,转换时根据需要自动四舍五入。<小数位数>的默认值为0,<长度>的默认值为10。 X=-1234.567
&& L=6+小数位
9
数
?STR(X,12,4) ?STR(X) ?STR(X,8) ?STR(X,4)
&&□□-1234.5670 &&□□□□□-1235
&&□□□-1235 &&**** &&-1234.6
?STR(X,7,3)
3、字符与ASCII之间的转换函数 格式:ASC(<字符型表达式>)
CHR(<数值型表达式>)
功能:ASC()函数给出指定字符串最左边的一个字符的ASCII码值。函数值为数值型。CHR()函数将数值表达式的值作为ASCII码,转换为对应的字符。函数值为字符型。 4、字符串转换成日期或日期时间函数 格式:CTOD(<字符型表达式>) CTOT(<字符型表达式>)
功能:CTOD()将(<字符型表达式>)值转换成日期型数据。 CTOT()将(<字符型表达式>)值转换成日期时间型数据。 5、日期或日期时间转换成字符串
格式:DTOC(<日期表达式>|<日期时间表达式> [,1]) TTOC(<日期时间表达式> [,1]) 日期时间型数据转换成字符串。 五、测试函数
1、NULL值测试函数
格式:ISNULL(<表达式>)
功能:判断表达式的运算结果是否为NULL值,若是NULL值返回逻辑真(.T.),否则返回逻辑假(.F.)。 2、 空值测试函数
格式:EMPTY(<表达式>)
功能:根据指定表达式的运算结果是否为“空”值,返回逻辑真(.T.)或逻辑假(.F.)。 3、数据类型测试函数
格式:VARTYPE(<表达式>) 或 TYPE(<表达式>)
功能:测试<表达式>的类型,返回一个表示数据类型的大写字母。 4、值域测试函数
格式:BETWEEN(<被测试表达式T>,<下限表达式L>,<上限表达式H>)
功能:判断被测试表达式的值是否介于另外两个表达式的值之间。当<表达式T>值大于等于<表达式L>且小于等于<表达式H>时,函数值为逻辑.T.,否则函数数值为逻辑.F.。如果<表达式L>或<表达式H>有一个是NULL值,那么函数值也是NULL值。 5、条件测试函数
10
功能:DTOC()将日期型数据或日期时间型数据的日期部分转换成字符串。TTOC()将
格式:IIF(<逻辑型表达式>,<表达式1>,<表达式2>)
功能:测试<逻辑表达式>的值,若为逻辑真.T.,函数返回<表达式1>的值;若为逻辑假.F.,函数返回<表达式2>的值。<表达式1>和<表达式2>的类型不要求相同。 6、表文件首测试函数
格式:BOF(<工作区号>|<表别名>)
功能:判断指定工作区中当前表文件的指针是否指向文件首部,是就返回.T.,否就返回.F.
7、表文件尾测试函数
格式:EOF(<工作区号>|<表别名>)
功能:判断指定工作区中当前表文件的指针是否指向文件尾部,是就返回.T.,否就返回.F.
六、系统对话框函数 MESSAGEBOX
在程序设计过程中,经常要显示一些提示信息、错误信息等,这些信息的显示用的就是函数MESSAGEBOX。 格式:
MESSAGEBOX(<信息文本>[,<对话框类型>][,<对话框标题>]) 功能: 以窗口形式显示信息,返回值为数字(表示用户按了那个键)。
练习题
1.设工资=1200,职称=“教授”,下列逻辑表达式的值是
工资>1000 AND (职称=“教授” OR 职称=“副教授” ) 2.设系统日期为2001年12月31日,下列表达式的值是 VAL(SUBSTR(“1999”,3)+RIGHT(STR(YEAR(DATE())),2))+17 3.命令?TYPE(“10/25/01”)的输出值是 。
4.两个日期型数据可进行减法运算,结果为 数据;日期型数据可加或减一个数值数据,结果为 。
5.?AT(“+”,”a+b=c”) 。
6.?LEN(“计算机”) 7.?ROUND(123.456,2) ?ROUND(123.456,-2) 。 8.若a=5,b=“a<10”,则TYPE(b)输出结果为 ,而?TYPE(“b”)输出结果为 。 9.表达式3+3>=6 OR 3+3>5 AND 2+3=5的结果为 。 10.表达式“World Wide Web”$”World”的结果为 。 11.设R=2,A=“3*R*R”,则&A的值应为()。 A. 0 B. 不存在 C.12 D.3*R*R 11 12.STR(109.87,7,3)的值是()。 A.109.87 B. “□ 109.87” C.109.870 D.”109.870” 13.在逻辑运算中,正确的运算次序是()。 14.已知D1和D2为日期型变量,下列4个表达式中非法的是()。 A.D1-D2 B.D1+D2 C.D1+28 D.D1-36 15.下列4个表达式中,运算结果为数值的是()。 A.”9988”-”1255” B. 200+800=1000 D.LEN(SPACE(3))-1 C.CTOD({11/22/01}-20) 等级考试”的命令是()。 A.?sr-”全国” B.?SUBSTR(sr,1,8)+SUBSTR(sr,11,17) C.?STR(sr,1,12)+STR(sr,17,14) D.?SUBSTR(sr,1,12)+SUBSTR(sr,17,14) 17.以下赋值语句正确的是()。 A.STORE 8 TO X,Y C.X=8,Y=9 B.STORE 8,9 TO X,Y D.X,Y=8 16.设有变量sr=“2005年下半年全国计算机等级考试”,能够显示“2005年下半年计算机 12 [教学总结]: 本单元主要介绍了VFP 6.0 基本语言规范,包括常量、变量、函数、运算符及其表达式。它是学习后继单元的基础,力求全面掌握。 重点是整型、数值型、字符型数据;运算符和表达式的运用;常用函数。 [作业布置]: 实验2.1 实验2.2 P46选择题1、2、4、5、6、8 填空题1、4、6 [教学后记]: 13

