第三章数据类型常量变量表达式与函数99张课件_第1页
第三章数据类型常量变量表达式与函数99张课件_第2页
第三章数据类型常量变量表达式与函数99张课件_第3页
第三章数据类型常量变量表达式与函数99张课件_第4页
第三章数据类型常量变量表达式与函数99张课件_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据类型、

常量、变量、

表达式和函数1数据类型、

常量、变量、

表达式和函数1数据和数据类型1.数据2.VisualFoxPro数据类型2数据和数据类型1.数据2.VisualFoxPro数数据

数据是描述客观实物的数、字符以及所有能输入到计算机中并被计算机程序加工处理的符号集合。数据是计算机程序处理的对象,也是运算的结果,所以应该认识VisualFoxPro能处理哪些数据,掌握各种数据的表达方法。3数据数据是描述客观实物的数、字符以及所有能输入到数据类型?type("")一、数值型数据N(Numeric)二、字符型数据C(Character)三、逻辑型数据L(Logical)四、日期型数据D(Date)五、备注型数据M(Memo)六、通用型数据G(General)4数据类型?type("")一、数值型数据N(Numer数值型数据N

可以进行数学运算的数据称为数值型数据。这种数据只能包含0-9、小数点、正负号。包括符号位和小数点,在内存中占8个字节;在表中占1-20个字节,精度16位。数值范围从.9999999999E-19到.9999999999E+20,用N表示。

如:9.980.668-36.9990005数值型数据N可以进行数学运算的数据称为数值型数据。字符型数据C

字符型数据是指一切可打印的字符和字符串,包括26个英文字母、0-9数字、空格、汉字以及各种符号及其组成的字符串等。每个字符占一个字节,最多可有254个字符,用C表示。对字符型常量需用单引号或双引号括起来。

如:"visualfoxpro""汉字""#$%%^"6字符型数据C字符型数据是指一切可打印的字符和字符串,逻辑型数据L

逻辑型数据只包含有两个值:"真"(.T.)或"假"(.F.)。长度固定为1位,用L表示。逻辑型数据是为进行各种判断而设计的。7逻辑型数据L逻辑型数据只包含有两个值:"真"(日期型数据D

日期型数据用来表示日期。在中文版VisualFoxPro中,日期默认格式为yy/mm/dd(年/月/日),可用SETDATETO命令或用“工具”、“选项”、“国际”选项卡设置日期为其它格式。日期型变量以“yyyymmdd”字符格式进行保存,范围从100/01/01到9999/12/31,长度固定为8位,用D表示。注意:必须用{}

如:{^99/03/08}8日期型数据D日期型数据用来表示日期。在中文版Vis备注型数据M

备注型数据是一种存储长度、容量任意的字符型数据。备注字段含有一个10字节的指针,它指向真正的备注内容。表中记录的备注型字段数据保存在单独文件中,文件名与表名相同并且扩展名为.FPT。备注字段仅受可用磁盘空间大小的限制,在表中占4个字节,用M表示。9备注型数据M备注型数据是一种存储长度、容量任意的整数数值型数据N

存储的数值型数据为整数。占4个字节,范围从-2147483647到+2147483646。用N表示。10整数数值型数据N存储的数值型数据为整数。占4个字节,通用型数据G

通用型数据一般用在表中的字段,即通用字段。通用字段用来保存OLE对象。通用字段包含一个10字节的指针,它指向该字段真正的内容。如:Excel电子表格、WORD文档、画图BMP图片、声音等。

通用字段的真正类型和数据大小取决于创建这些OLE对象服务器,以及是以链接方式还是以嵌入方式创建。通用字段的真正的内容大小只受磁盘空间的限制。在表中占4个字节,用G表示。11通用型数据G通用型数据一般用在表中的字段,即通用字常量和变量

常量是以直观的数据形态和意义直接出现在程序中的数据。在程序中,常量一旦定义,其值就不会再被改变。

在程序中,变量是指用标识符命名的用以存放数据的计算机内存单元。在程序执行的某个时刻,变量的值都是确定的、已知的,但在整个程序运行过程中是可变的。12常量和变量常量是以直观的数据形态和意义直接出现在程序常量类型一、数值型常量二、字符型常量三、逻辑型常量四、日期型常量五、日期时间型常量13常量类型一、数值型常量二、字符型常量三、逻辑型常量四、日期型数值型常量

数值型常量是指在程序中不变的数值型数据。

如:65.1866-99.81.23785E-1214数值型常量数值型常量是指在程序中不变的数值型数据字符型常量是必须用界限符双引号""或单引号‘’或方括号[]括起来的一个或几个字母、空格、数字、汉字或其它特殊符号,称为字符型常量或字符串。如:"A"、‘b’、‘168’、[计算机]等。当字符串本身还包含某种界限符时,则要选择另外两种不同的界限符作为真正的界限符,以示区别。如:[Shesaid,"Iamastudent."]表示字符常量Shesaid,"Iamastudent."。15字符型常量是必须用界限符双引号""或单引号‘’或方逻辑型常量用于逻辑型数据。真用.T.或.t.、.Y.或.y.表示,假用.F.或.f.、.N.或.n.表示。日期型常量属于日期型数据。用大括号{}括起来表示日期型常量。如:{^2000/12/18}表示2000年12月18日。16逻辑型常量用于逻辑型数据。真用.T.或.t.、.Y.或.日期时间型常量属于日期时间型数据。用{}作界限符,日期与时间必须用空格隔开。如:{^97/12/38:58:18AM}表示2019年12月3日上午8点58分18秒。17日期时间型常量属于日期时间型数据。用{}作界限符,变量名及变量分类一、变量名二、简单变量三、数组变量四、字段变量五、系统内存变量18变量名及变量分类一、变量名二、简单变量三、数组变量四、字段变变量名

为了区分变量,给每个变量起个名字,称为变量名。VisualFoxPro规定变量名最多为10个字符,可以由字母、数字和嵌在字母或数字之间的下划线组成,但必须以字母开头,中间不能有空格。如:XY、DD、D43、D_43等。在为变量命名时应注意以下原则:1.见名知义的原则。2.简单明了。3.用户定义的变量名不能与系统的命令或函数重名,否则程序运行时将出现错误。19变量名为了区分变量,给每个变量起个名字,称为变量名。简单变量

简单变量也称内存标量变量。内存变量用于存储用户经常用到的常量、程序运行过程中所要用到的各种中间数据或最终结果、用户输入的信息等,它只保留在内存中,需要时可以定义,不需要时可以释放掉。VisualFoxPro中的内存变量有数值型内存变量、字符型内存变量、逻辑型内存变量、日期型内存变量、日期时间型内存变量、货币型内存变量、对象型内存变量。20简单变量简单变量也称内存标量变量。内存变量用于存简单变量在命令窗口输入下列命令,可定义有关变量的类型。(?,??,=,STORETO,DISPLAYMEMORY[LIKE...],RELEASE,CLEARMEMORY)A1=123A2="GOOD!"A3=.T.(STORE.T.TOA3)A4={^2019/12/18}?A1,A2,A3,A4

显示结果为:123GOOD!.T.99-12-1821简单变量在命令窗口输入下列命令,可定义有关变量的类型数组变量

数组是指名字相同而下标不同的一组有序变量。VisualFoxPro中可以定义一维或二维数组。数组使用前必须先用DIMENSION集合定义数组的大小。如:DIMENSIONA(2,3)22数组变量数组是指名字相同而下标不同的一组有序变量。字段变量字段变量是随着数据表的建立而产生的,它是表中最基本的数据单元,它使用专门的命令(CREATE)或菜单打开表设计器,在表设计器中定义字段名、字段类型、字段长度、小数位数等内容。字段变量的值随着记录指针的移动而改变。字段变量的类型有前面介绍的所有类型,共十三种。23字段变量字段变量是随着数据表的建立而产生的,它是表系统内存变量

系统内存变量是VisualFoxPro建立并自动维护的内部变量,它的变量名都是以下划线开始,可以象使用一般内存变量一样来使用系统内存变量。使用系统内存变量设计程序,可以简化程序设计。VisualFoxPro有5种系统内存变量,即数值型N、字符型C、逻辑型L、日期型D、对象型O。

查看:displaymemory24系统内存变量系统内存变量是VisualFoxPr

表达式

把符合VisualFoxPro规定的、用运算符号和括号将常量、内存变量、字段变量、函数等连接起来的式子称为VisualFoxPro表达式。最简单的表达式可以是一个常量、内存变量、字段变量或函数。如果表达式含有不同类型的数据,则先要用有关转换函数将它们转换为同一类型后再运算。表达式运算的结果,称为表达式的值。25表达式把符合VisualFoxPro规定的、表达式的类型一、数值型表达式二、字符型表达式三、关系型表达式四、逻辑表达式五、日期型表达式26表达式的类型一、数值型表达式二、字符型表达式三、关系型表达式一、数值型表达式数值型表达式由括号、数值型运算符(也称算术运算符)、数值型常量、内存变量、字段变量和函数组成,运算的结果为数值型。如:25*4+(33-11)*4结果188再如:相应的表达式该怎么写?27一、数值型表达式数值型表达式由括号、数值型运算符(举例1.A+B/C*D*Y^22.(A+B)/C*D*Y^23.(A+B)/(C*D)*Y^24.(A+B)*Y^2/C*D5.(A+B)/C/D*Y^26.(A+B)*Y^2/C/D7.(A+B)/(C/D)*Y^228举例1.A+B/C*D*Y^228数值型运算符的优先级

()+或-号^或***或/%+或-高低29数值型运算符的优先级()高低29书写表达式的规则1.所有字符都必须写在同一行上;

如:X3Y要写成:X^3*Y。2.所有运算符都不能省略。

如:2Y;2*Y,WX;W*X。3.所有括号都用小括号(),括号必须配对。4.一律用半角英文符号。30书写表达式的规则1.所有字符都必须写在同一行上;30二、字符型表达式

字符型表达式由字符型运算符、字符型常量、内存变量、字段变量和函数组成。字符型表达式只能对字符型数据进行操作,其运算结果为字符型数据。字符型运算符为:+字符串连接运算符-串尾空格移位运算符

如:"Visual"+"FoxPro3.0"运算结果为:"VisualFoxPro3.0"再如:"Visual"-"FoxPro3.0"运算结果为:"VisualFoxPro3.0"31二、字符型表达式字符型表达式由字符型运算符、字符型常三、关系型表达式关系型表达式由关系运算符、数值表达式、字符表达式、日期表达式组成。关系运算符用于对两个相同数据类型表达式值的大小进行比较。被比较的数据应该是数值型数据、字符型数据、日期型数据,但不能是逻辑数据。关系运算的结果为逻辑型数据,只能是真.T.或假.F.。32三、关系型表达式关系型表达式由关系运算符、数值表达关系运算符>大于>=大于或等于<小于<=小于或等于=等于$字符串包含<>或#或!=不等于==字符串精确比较关系运算的优先级相同,但所有关系运算符的优先级低于数学运算符或算术运算符。

如:3+5>=45/533关系运算符>大于>=大于或等于3数据类型的比较方法1.数值型数据按其大小比较;2.日期型数据将日期看成"yymmdd"6位整数,按数值大小比较;3.汉字字符是按区位码比较的;4.对字符型数据,按ASCII码值比较。如:"张三">"王五""abcd"<"Zyxtgf"{^97/02/21}>{^96/12/30}

.T..F..T.34数据类型的比较方法1.数值型数据按其大小比较;.T.34四、逻辑表达式逻辑表达式由关系表达式、逻辑运算符、逻辑常量、内存变量、字段变量和函数组成。运算结果为.T.或.F.。逻辑运算符为:()NOT或!或.NOT.AND或.AND.OR或.OR.35四、逻辑表达式逻辑表达式由关系表达式、逻辑运算符、逻辑逻辑运算真值表逻辑运算符的优先级为:()、.NOT.、.AND.、.OR.。36逻辑运算真值表逻辑运算符的优先级为:36举例例1:求下列表达式的值。5>3.AND.10+2>11运算结果为.T."ABC">"123"OR10<6运算结果为.T..NOT.18>9.AND.16*3>45运算结果为.F.例2:根据所给条件,列出逻辑表达式。(1)一元二次方程有实根的条件是A<>0,并且B^2-4AC>=0。

逻辑表达式为:A<>0.AND.B^2-4*A*C>=037举例例1:求下列表达式的值。例2:根据所给条件,列出逻辑表达举例例3写出满足下列条件的关系表达式:设A、B代表主课成绩,C代表副课成绩。三门课成绩之和大于270,或一门主课100,另两门在80以上。A+B+C>270ORA=100ANDB>80ANDC>80ORB=100ANDA>80ANDC>80A+B+C>270OR(A=100ANDB>80ORB=100ANDA>80)ANDC>8038举例例3写出满足下列条件的关系表达式:A+B+C>270五、日期型表达式日期表达式由算术运算符(加+或减-)、算术表达式、日期型常量、内存变量、字段变量和函数组成。日期型数据是一种特殊的数值型数据,它们之间只能进行加、减运算。有以下三种情况:?{^2000/12/18}-{^2000/11/30}?{^2019/8/8}+10?{^2019/8/18}-1039五、日期型表达式日期表达式由算术运算符(加+或减-表达式运算的优先级数值型表达式和字符型表达式关系型表达式逻辑型表达式在每一种表达式中按各自的运算符的优先级进行。如果是同一级别,则按照从左到右的规则进行。40表达式运算的优先级数值型表达式和字符型表达式40函数函数是事先编好的一组程序,作为系统的一部分资源供用户使用。函数运算后都会返回一个值。根据函数值的类型,可将VisualFoxPro系统函数分为:数值型函数、字符型函数、逻辑型函数和日期型函数。如果按函数的性质和功能划分,可将函数分为:41函数函数是事先编好的一组程序,作为系统的一部分资源函数1.数值运算函数2.字符操作函数3.日期时间函数4.类型转换函数5.测试函数42函数1.数值运算函数2.字符操作函数3.日期时间函数数值运算函数(ABS)一、求绝对值函数ABS()语法:ABS(<数值表达式>)功能:返回指定数值表达式的绝对值。函数值为数值型。

?ABS(-68)结果68?ABS(80-22)结果58A=46B=8?ABS(B-A)结果3843数值运算函数(ABS)一、求绝对值函数ABS()43数值运算函数(INT)二、取整数部分函数INT()语法:INT(<数值表达式>)功能:计算数值表达式的值,截去数值表达式值的小数部分,并返回其整数值。函数值为数值型。如:

?INT(18.9)结果为18?INT(18.4*2)结果为36?INT(-16.5)结果为-1644数值运算函数(INT)二、取整数部分函数INT()44数值运算函数(INT)二、取整数部分函数INT()

可用来:1。判断整数:?X=INT(X)2。判断奇偶:?X/2=INT(X/2)3。求余数;X=A-INT(A/B)*B4.求数位的值:?INT(384/10)-INT(384/100)*1045数值运算函数(INT)二、取整数部分函数INT()45数值运算函数(ROUND)三、四舍五入函数ROUND()语法:ROUND(<数值表达式1>,<数值表达式2>)功能:返回四舍五入到<数值表达式2>指定小数位数的数值表达式。函数值为数值型。如果<数值表达式2>为负数,则向前数。如:?ROUND(532.6548,3)结果为532.655?ROUND(5432.6543,-1)结果为5430?ROUND(5432.6543,-3)结果为500046数值运算函数(ROUND)三、四舍五入函数ROUND()46数值运算函数(SQRT)四、求平方根函数SQRT()语法:SQRT(<数值表达式>)功能:求一个正数的平方根。函数值为数值型。如:

?SQRT(9)结果为3?SQRT(12)结果为3.464101615138?SQRT(-34)??47数值运算函数(SQRT)四、求平方根函数SQRT()??数值运算函数(MOD)五、MOD()函数语法:MOD(被除数,除数)功能:返回被除数与除数相除的余数。结果为数值型。如:?mod(10,3)&&结果为1?mod(10,-3)&&结果为-248数值运算函数(MOD)五、MOD()函数48字符操作函数(&)一、宏代换&语法:&<内存变量>[.<字符型表达式>]功能:用于代换一个字符型内存变量的内容。&必须放在一个字符型内存变量之前,就用该变量的值来代替&及该变量名。&<内存变量>与跟在它后面的其它字符之间,一般要隔一个或多个空格。如果代换后的值要与后面其它字符连在一起,则必须在&<内存变量>之后与其它字符之间插入一个终止宏代换符号"."。49字符操作函数(&)一、宏代换&49宏代换函数举例(&)如:STORE"A"toXStore"X"toY?&Y结果为A再如:STORE"hello"tohiStore"hi"tos?&s结果为hello50宏代换函数举例(&)如:STORE"A"toX50宏代换函数举例(&)再如:ml="?100+50*2"?"&ml"结果为:?100+50*2?&ml结果为:200(??100+50*2)&ml结果为:200(?100+50*2)51宏代换函数举例(&)51宏代换函数举例(&)请思考:A="B"B=100C="d"?&A结果是100

?&C结果是无变量d?"&A"结果是"B"

?"&C"结果是"d"&A结果是不识别?A结果是"B"?B结果是100?&B结果是命令错?"&B"结果是"&B"52宏代换函数举例(&)请思考:A="B"B=100宏代换函数举例(&)如:i="1"j="2"x12="Well"x13=67?x&i.&j结果为Well?x&i.3结果为67再如:假设有四个表文件,分别命名为:RS1、RS2、RS3、RS4

53宏代换函数举例(&)如:i="1"53宏代换函数举例(&)FORI=1TO4M=STR(I,1)USERS&M……ENDIF以上程序在I取不同的值时,将打开不同的表文件。USERS&M.EXCLUSIVE54宏代换函数举例(&)FORI=1TO4USERS&M字符操作函数(LEFT)二、从字符串左端取字符串函数LEFT()语法:LEFT(字符表达式,数值表达式)功能:从"字符表达式"最左边一个字符开始返回由"数值表达式"指定数目的字符。函数值为字符型。如:

?LEFT("GoodMorning",3)&&结果为Goo55字符操作函数(LEFT)二、从字符串左端取字符串函数LEFT字符操作函数(LEN)三、求字符串长度函数LEN()语法:LEN(<字符表达式>)功能:返回字符表达式中字符的数目。函数值为数值型。如:

?LEN("GoodMorning")&&结果为1256字符操作函数(LEN)三、求字符串长度函数LEN()56字符操作函数(SUBSTR)四、在字符中取子字符串函数SUBSTR()语法:SUBSTR(<字符表达式>,<数值表达式1>[,<数值表达式2>])功能:从给定的字符表达式或备注字段中返回字符串。函数值为字符型。子串在字符串中的起始位置由<数值表达式1>决定,长度由<数值表达式2>决定。如:?SUBSTR("Thisisatable.",6,5)结果为"isa"57字符操作函数(SUBSTR)四、在字符中取子字符串函数SUB字符操作函数(ALLTRIM)五、删除字符串首尾空格函数ALLTRIM()语法:ALLTRIM(字符表达式)功能:删除指定字符表达式前后的空格字符,并且返回删除空格符后的字符串。函数值为字符型。如:

?ALLTRIM("VisualFoxPro")&&结果为"VisualFoxPro"58字符操作函数(ALLTRIM)五、删除字符串首尾空格函数AL字符操作函数($)六、确定字符串是否包含于另一字符串$语法:<搜索字符串>$<被搜索字符串>功能:如果一个字符表达式包含在另一个字符表达式中,则返回"真"(.T.);否则,返回"假"(.F.)。函数值为逻辑型。$区分大小写。如:?"AB"$"ABCD"结果为.T.?"AB"$"abcd"结果为.F.?"ABCD"$"AB"结果为.F.59字符操作函数($)六、确定字符串是否包含于另一字符串$59字符操作函数(AT)七、返回字符串出现的位置AT()

语法:AT(<字符串1>,<字符串2>[,<次数>])功能:返回一个字符表达式或备注字段在另一个字符表达式或备注字段中出现的位置,从最左边开始计数。函数值为数值型。如:?AT("ABC","DSABCFABCGRABC")结果为3?AT("ABC","DSABCFABCGRABC",3)结果为12?AT("ABC","DSAFBDCFJK")结果为0?AT("abc","DSABCFABCGRABC")结果为060字符操作函数(AT)七、返回字符串出现的位置AT()60字符操作函数(RIGHT)八、从字符串右端取子字符串RIGHT()

语法:RIGHT(<字符表达式>,<数值表达式>)功能:从一个字符串的最右边开始返回指定数目的字符。函数值为字符型。如:?RIGHT("Howareyou!",3)结果为:ou!?RIGHT("Howareyou!",16)结果为:Howareyou!?RIGHT("Howareyou!",0)结果为:""?RIGHT("Howareyou!",-3)结果为:""61字符操作函数(RIGHT)八、从字符串右端取子字符串RIGH字符操作函数(CHRTRAN)九、替换字符CHRTRAN()语法:CHRTRAN(<字符表达式1>,<字符表达式2>,<字符表达式3>)功能:如果在<字符表达式1>中找到一个<字符表达式2>的字符,则用<字符表达式3>中的一个相应位置的字符替换。函数值为字符型。

62字符操作函数(CHRTRAN)九、替换字符CHRTRAN()字符操作函数(CHRTRAN)如:?CHRTRAN("12345678","168","abc")&&显示结果为:a2345b7c?CHRTRAN("12345678","168","ab")&&显示结果为:a2345b7?CHRTRAN("12345678","168","abcdef")&&显示结果为:a2345b7c63字符操作函数(CHRTRAN)如:63字符操作函数(OCCURS)十、统计次数函数OCCURS()语法:OCCURS(<字符表达式1>,<字符表达式2>)功能:统计<字符表达式1>在<字符表达式2>中出现的次数。函数值为数值型。如:

?OCCURS("A","GHFTDABFAA")结果为:3?OCCURS("B","GHFTDABFAA")结果为:1?OCCURS("C","GHFTDABFAA")结果为:064字符操作函数(OCCURS)十、统计次数函数OCCURS()字符操作函数(LTRIM)十一、删除指定的字符表达式的前导空格函数LTRIM()语法:LTRIM(<字符表达式>)功能:删除指定的字符表达式的前导空格,然后返回得到的表达式。如:?LTRIM("Howareyou!")&&结果为Howareyou!65字符操作函数(LTRIM)十一、删除指定的字符表达式的前导空字符操作函数(TRIM)十二、返回删除全部后缀空格函数TRIM()语法:TRIM(<字符表达式>)功能:返回删除全部后缀空格后的指定字符表达式。返回值类型为字符型。如:?TRIM("Howareyou!")&&结果为"Howareyou!"66字符操作函数(TRIM)十二、返回删除全部后缀空格函数TRI日期时间函数(DATE)一、系统日期函数DATE()语法:DATE()功能:给出系统的当前日期。函数值为日期型。函数值的格式由SETDATETO和SETCENTURYON|OFF命令决定。如:今天是2019年10月18日,则:

?DATE()显示结果为:99/10/18

67日期时间函数(DATE)一、系统日期函数DATE()67日期时间函数(SETTO)再如:

SETCENTURYON设置年以4位显示?DATE()显示结果为:2019/10/18

SETDATETOMDY设置日期格式为:月日年?DATE()显示结果为:10/18/2019SETDATETOYMD设置日期格式为:年月日SETCENTURYOFF设置年以2位显示?DATE()显示结果为:99/10/1868日期时间函数(SETTO)再如:68日期时间函数(TIME)二、系统时间函数TIME()语法:TIME()功能:按hh:mm:ss格式给出系统的当前时间。函数值为字符型。时间按一天24小时形式的8个字符输出。如:假设现在系统时间为18:18:18,则:

?TIME()结果为:18:18:1869日期时间函数(TIME)二、系统时间函数TIME()69日期时间函数(DAY)三、日期函数DAY()语法:DAY(<日期表达式>|<日期时间表达式>)功能:以数值型返回给定日期表达式或日期时间表达式是某月中的第几天。函数值为数值型。如:?DAY(2019/12/18)&&显示结果为:1870日期时间函数(DAY)三、日期函数DAY()70日期时间函数(MONTH)四、月份函数MONTH()语法:MONTH(<日期表达式>|<日期时间表达式>)功能:返回给定日期或日期时间表达式的月份值。函数值为数值型。如:

?MONTH(2019/12/18)&&显示结果为:1271日期时间函数(MONTH)四、月份函数MONTH()71日期时间函数(YEAR)五、年份函数YEAR()语法:YEAR(<日期表达式>|<日期时间表达式>)功能:从给定的日期表达式或日期时间表达式中返回年份。函数值为数值型。如:?YEAR(2019/12/18)&&显示结果为:201972日期时间函数(YEAR)五、年份函数YEAR()72日期时间函数(DATETIME)六、系统日期和时间函数DATETIME()语法:DATETIME()功能:返回当前日期和时间。函数值为日期时间型。返回的日期时间值格式由SETDATE、SETMARK、SETCENTURY、SETHOURS和SETSECONDS的当前设置决定,这种格式也依赖于Windows控制面板中的"国别设定"选项。73日期时间函数(DATETIME)六、系统日期和时间函数DAT日期时间函数(CDOW)七、星期函数CDOW()语法:CDOW(<日期表达式>|<日期时间表达式>)功能:返回给定日期确定的英文星期名。函数值为字符型。如:store{^2000/02/25}tod?cdow(d)如:?cdow(date())如:?cdow({^2000/2/25})74日期时间函数(CDOW)七、星期函数CDOW()74类型转换函数(ASC)一、ASC()函数语法:ASC(<字符表达式>)功能:将字符串中最左边一个字符转换为ASCII码。函数值为数值型。如:

?ASC("DCBA")结果为:68?ASC("dcba")结果为:10075类型转换函数(ASC)一、ASC()函数75类型转换函数(CHR)二、CHR()函数语法:CHR(<数值表达式>)功能:将数值作为ASCII码转换为相应的字符。函数值为字符型。如:

?CHR(97)结果为:a?CHR(65)结果为:A76类型转换函数(CHR)二、CHR()函数76类型转换函数(CTOD)三、CTOD()函数语法:CTOD(<字符型表达式>)功能:将指定的数值字符串转换为日期型值。函数为日期型。如:?CTOD("2019/12/18")&&显示结果为:99-12-18?CTOD("2019/12/18")-CTOD("2019/12/1")&&显示结果为:1777类型转换函数(CTOD)三、CTOD()函数77类型转换函数(DTOC)四、DTOC()函数语法:DTOC(<日期表达式>或<日期时间表达式>[,1])功能:将日期或日期时间表达式转换为字符串日期。函数值为字符型。如:?DTOC({^2019/09/10},1)结果为:20190910?DTOC({^2019/09/10})结果为:99-09-1078类型转换函数(DTOC)四、DTOC()函数78类型转换函数(STR)五、STR()函数语法:STR(<数值表达式1>[,<数值表达式2>[,<数值表达式3>]])或:STR(数,长度,小数位数)功能:将数值表达式转换为字符串。函数值为字符型。如:?STR(5678.4321,10,1)结果为:5678.4?STR(5678.4321,6,3)结果为:******79类型转换函数(STR)五、STR()函数79类型转换函数(VAL)六、VAL()函数语法:VAL(<字符型表达式>)功能:把一个由数字组成的字符表达式转换为数值型数值。函数值为数值型。如:?VAL("1234.5678")结果为:1234.56SETDECIMALSTO3?VAL("1234.5678")结果为:1234.56780类型转换函数(VAL)六、VAL()函数80类型转换函数(LOWER)七、LOWER()函数语法:LOWER(<字符型表达式>)功能:以小写字母形式返回指定字符的表达式。函数值为字符型。如:

?LOWER("ABCDe")显示结果为:abcde81类型转换函数(LOWER)七、LOWER()函数81类型转换函数(UPPER)八、UPPER()函数语法:UPPER(<字符型表达式>)功能:用大写字母返回指定的字符表达式。函数值为字符型。如:

?UPPER("abcde")显示结果为:ABCDE82类型转换函数(UPPER)八、UPPER()函数82类型转换函数(SPACE)九、SPACE()语法:SPACE(<数值型表达式>)功能:返回由指定数目的空格构成的字符串。函数值为字符型。如:

STORESPACE(10)TOX将10个空格字符串赋值给变量XY=SPACE(5)将5个空格字符串赋值给变量Y83类型转换函数(SPACE)九、SPACE()83测试函数(BOF)一、BOF()函数语法:BOF([<表工作区号|表的别名>])功能:测试数据表记录指针是否在表头。函数值为逻辑型。如果当前表或指定工作区的表记录指针指向了表头,则函数返回逻辑值.T.,否则返回逻辑值.F.。如果省略参数,则指当前工作区。84测试函数(BOF)一、BOF()函数84测试函数(EOF)二、EOF()函数语法:EOF([<表工作区号|表的别名>])功能:测试数据表记录指针是否在表尾。函数值为逻辑型。如果当前表或指定工作区的表记录指针指向了表尾,则函数返回逻辑值.T.,否则返回逻辑值.F.。如果省略参数,则指当前工作区。85测试函数(EOF)二、EOF()函数85测试函数(RECCOUNT)三、RECCOUNT()函数语法:RECCOUNT([<表工作区号|表的别名>])功能:返回当前表或指定表中的记录个数。函数值为数值型。如:

USERS打开数据表RS?RECCOUNT()显示结果为:986测试函数(RECCOUNT)三、RECCOUNT()函数86测试函数(RECNO)四、RECNO()函数语法:RECNO([<表工作区号|表的别名>])功能:返回当前或指定表中当前记录的记录号。函数值为数值型。

USERS打开数据表RS?RECNO()为:1GO6指针第6条记录?RECNO()为:687测试函数(RECNO)四、RECNO()函数87测试函数(FOUND)五、FOUND()函数语法:FOUND([<表工作区号|表的别名>])功能:在当前或指定表中,检测是否找到所需的数据。函数值为逻辑型。如果对数据表实现由FIND、SEEK、LOCATE和CONTINUE操作,如果找到了满足条件的记录,则FOUND()函数返回值为.T.,否则为.F.。88测试函数(FOUND)五、FOUND()函数88测试函数(TYPE)六、TYPE()函数语法:TYPE("<表达式>")功能:测试字符型表达式的类型,返回用字母代表的数据类型。函数值为字符型。

?TYPE("AABBCC")结果为:U?TYPE("15+13")结果为:N?TYPE("18>6.AND.20<18")结果为:L89测试函数(TYPE)六、TYPE()函数89测试函数(FILE)七、FILE()函数语法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论