收藏 分享(赏)

第二章数据与数据运算.ppt

上传人:saw518 文档编号:6221923 上传时间:2019-04-02 格式:PPT 页数:74 大小:305KB
下载 相关 举报
第二章数据与数据运算.ppt_第1页
第1页 / 共74页
第二章数据与数据运算.ppt_第2页
第2页 / 共74页
第二章数据与数据运算.ppt_第3页
第3页 / 共74页
第二章数据与数据运算.ppt_第4页
第4页 / 共74页
第二章数据与数据运算.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、第二章 数据与数据运算,东方一诺,Visual FoxPro 有常量、变量、表达式和函数四种形式的数据。 数据类型决定了数据的存储方式和运算方式。常量、内存变量、函数及表达式的类型包括字符型、数值型、货币型、逻辑型、日期型和日期时间型等6种。, 常量 变量,一、常量:常量通常是指以字符串形式出现在代码中的数据,常量代表一个具体的、不变的值。在程序运行过程中,常量是固定不变的。 常量的类型包括:数值型、货币型、字符型、日期型、日期时间型和逻辑型。 1.数值型常量:即常数,用来表示一个数量的大小。由数字09、小数点和正负号构成,也可以用科学记数法表示。数值型数据在内存用8个字节表示。 例:10,

2、-100, 2.8182, 0.8281E2,2.货币型常量:用来表示货币,其书写格式和数值型类似,但要加上一个前置符号$。数据在存储和计算时,采用4位小数。货币型常量没有科学记数形式,在内存中占用8个字节。 3.字符型常量:用双引号,单引号或方括号等定界符括起来的字符。字符型常量的定界符必须成对匹配,不能一边用单引号而另一边用双引号。如果某种定界符本身也是字符串的内容,则需要用另一种定界符为该字符串定界。 注意:不包含任何字符的字符串(“)叫空串。空串与包含空格的字符串(“ “)不同。,例: “计算机“,科学 ,文化,“abx“ xyz 例:下列字符型常量的表示中,错误的是( )A、“计算机

3、世界“ B、“电脑报“ C、中国 D、12345 4.日期型常量:日期型常量的定界符是一对花括号。花括号内包括年、月、日三部分内容,各部分内容之间用分隔符分隔。分隔符可以是斜杠(/)、连字号(-)、句点(.)、分号(;)和空格,其中斜杠是系统在显示日期型数据时使用的默认分隔符。 日期型数据用8个字节表示,取值范围是:0001年1月1日9999年12月31日。日期型有两种格式。,(1)严格的日期格式:yyyy-mm-dd。用这种格式书写的日期型常量要注意:花括号内第一个字符必须是脱字符();年份必须是4位;年月日的次序不能颠倒、不能缺省。能表达一个确定的日期,它不受set date to的影响。

4、严格的日期格式可在任何情况下使用。 (2)传统的日期格式:传统日期格式中的月、日各为2位数字,而年份可以是2位数字,也只可以是4位数字,如10/08/01、10-08-01、10 08 2001。 这种格式要受到set date to 和set century to 设置的影响。而且这种格式只能在set strictdate to 0的状态下使用。 这种格式有时会引起岐义,为什么?,(3)影响日期格式的设置命令 set mark to 日期分隔符 功能:用于指定显示日期型数据时使用的分隔符。若缺省表示恢复系统默认的斜杠分隔符。日期分隔符有:? set date to american|ansi

5、|british|French |german|italian|japan|usa|mdy|dmy|ymd 功能:用来设置日期显示的格式。该格式也决定系统如何解释一个传统格式的日期常量。 常用日期格式见下页表。,例1 set century on set mark to set date to ymd ?2001-08-26,例2 set century off set mark to “.” set date to mdy ?2001-08-26,主屏幕显示:2001/08/26,主屏幕显示:08.26.01,set century on | off 功能:用于设置显示日期型数据时是否显示世

6、纪。 Set century to 世纪值 rollover 年份参照值 功能:用于解释一个用2位数字年份所表示的日期所处的世纪。具体的说,如果2位数字年份大于等于年份参照值,则它所处的世纪即为世纪值,否则为世纪值+1。,set century on set date to mdy set mark to set strictdate to 0 set century to 19 rollover 52 ?02/15/25 ?02/15/56,主屏幕显示:02/15/2025,主屏幕显示:02/15/1956,set strictdate to 0 | 1 | 2 功能:用于设置是否对日期格式

7、进行检查。 0表示不进行严格日期检查。 1表示进行严格日期检查。 2表示进行严格日期检查,并且对ctod()和ctot()函数的格式也有效。 设置日期格式的命令: Set mark to Set date to Set century on|off Set century to 世纪值 rollover 年份 Set strictdate to 0|1|2,5.日期时间型常量:包括日期和时间两部分内容:日期,时间,也可以表示为日期 时间。日期部分与日期型常量相似,也有传统的和严格的两种格式。时间部分的格式为hh:mm:ssa|p 。其中hh、mm、dd分别代表时、分、秒。a 代表上午,p代表下

8、午。在内存用8个字节存储。 注意:日期和时间中间的分隔符可以是逗号或空格。 时间的表示存在着许多等价的方法.见教材P51,6.逻辑型常量:逻辑型只有逻辑真和逻辑假两个值。 逻辑真的常量表示形式有:.T.、.t.、.Y.和.y. 逻辑假的常量表示形式有:.F.、.f.、.N.和.n. 前后的两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为是变量名。逻辑型数据只占用一个字节。,常量的类型:,货币型,数值型,日期型,字符型,日期时间型,逻辑型,二、变量:变量的值是能够随时更改的。 每个变量有一个变量名,代码通过变量名来访问变量的取值。变量名以字母、汉字和下划线开头,后接字母、数字、汉字和下

9、划线构成。 变量分为字段变量和内存变量两大类。 1.字段变量:表的每一个字段都是字段变量,说字段是变量,是由于对于某一字段,它的值允许因记录而异。因此,打开表之后的字段名就是字段变量。,2、内存变量:内存变量是内存的一个存储区域,变量值就是存放在这个存储区域里的数据,变量的类型取决于变量值的类型。 内存变量的类型包括:字符型、数值型、货币型、逻辑型、日期型和日期时间型。 (1)简单内存变量: 每一个变量都有一个名字,可以通过变量名访问变量。如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀M.(或M-),否则系统将访问同名的字段变量。,要记住我哦 !,(2)数组 数

10、组是内存中连续的一片存储区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下标来访问。每个数组元素相当于一个简单变量,可以给各元素分别赋值。在VF中,一个数组中各元素的数据类型可以不同。与简单内存变量不同,数组在使用之前一般要用dimension或declare命令显式创建,规定数组是一维数组还是二维数组,数组名和数组大小。数组大小由下标值的上、下限决定,下限规定为1。,创建数组的命令格式为: dimension 数组名 (下标上限1,) declare 数组名(下标上限1,) 以上两种格式的功能完全相同。数组创建后,系统自动给每个数组元素赋以逻辑假.f. 例如:dimension x

11、(5),y(2,3)命令定义了两个数组 一维数组X含5个元素:X(1)、X(2)、X(3)、X(4)、X(5)。 二维数组Y含6个元素:Y(1,1)、Y(1,2)、Y(1,3)、Y(2,1)、Y(2,2)、Y(2,3)。 整个数组的数据类型为A(Array),而各个数组元素可以分别存放不同类型的数据。,在使用数组和数组元素时,应注意如下问题:在一切使用简单内存变量的地方,均可以使用数组元素。在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。在同一个运行环境下,数组名不能与简单变量名重复。在赋值语句中的表达式位置不能出现数组名。可以用一维数组的形式访问二维数组。例如,数

12、组Y中的各元素用一维数组形式可依次表示为:Y(1)、Y(2)、Y(3)、Y(4)、Y(5)、Y(6),其中Y(4)与Y(2,1)是同一变量。,三.内存变量常用命令: 1.内存变量的赋值 格式1:内存变量名=表达式 功能:给一个内存变量赋值. 格式2:store 表达式 to 内存变量表 功能:同时给多个内存变量赋予相同的值. 说明:当给内存变量赋值时,如果该变量不存在,那么系统会自动建立它.可以通过对内存变量的重新赋值来改变其取值和类型. 例:n=21store 5 to a,b,cn=“同学“,2.表达式值的显示 格式1:?表达式表 格式2:?表达式表 格式3:? 功能:计算表达式中的各表达

13、式并输出各表达式值。格式1在下一行的第一列显示表达式的值。格式2在当前行的当前列显示表达式的值。格式3输出一个回车换行符。 例:store 5 to a,b,c?a,b,c,3.内存变量的显示 格式:list|display memory like通配符 to printer | to file文件名 功能:显示内存变量的当前信息,包括变量名、作用域、类型、取值。 (1)选用LIKE短语只显示与通配符相匹配的内存变量。通配符包括*和?,*表示任意多个字符,?表示任意一个字符。 (2)可选子句to printer或to file文件名用于在显示的同时送往打印机,或者存入给定文件名的文本文件中,文

14、件的扩展名为.txt。 (3)List可连续显示,display可分屏显示.,4.内存变量的清除 格式1:clear memory 格式2:release 内存变量名表 格式3:release all extended 格式4:release all like 通配符 格式5:release all except 通配符 功能:格式1清除所有内存变量。 格式2清除指定的内存变量。 格式3清除所有的内存变量。若在程序中应加上extended,否则不能清除全局内存变量. 格式4选用like短语清除与通配符相匹配的内存变量 格式5选用except短语清除与通配符不相匹配的内存变量。,5.表中数据与数

15、组数据之间的交换 将表的当前记录复制到数组 格式:scatter to数组名 功能:功能是将表的当前记录中复制到数组中。 将数组数据复制到表的当前记录 格式: gather from 数组名 功能:将数组中的数据作为一个记录复制到表的当前记录中。, 表达式,所谓表达式,就是把常量,变量和函数通过特定的运算符连接在一起的式子。无论是什么表达式都能按其运算规则计算出一个结果,这个结果就是表达式的值。 根据表达式的值的类型,表达式可分为数值表达式、字符表达式、日期表达式、关系表达式和逻辑表达式。,一.数值表达式 算术表达式又叫做算术表达式,是由算术运算符将数值型常量、变量及数值型函数连接起来的式子,

16、其运算结果仍然是数值型数据。 1.算术运算符 包括 + - * / % * () 2.算术运算的操作数必须是数值,运算的结果也是数值。运算顺序是先乘除与取模,后加减,同一级别要从左向右。有圆括号时圆括号内先算,若有圆括号嵌套,则按先内后外次序处理。,3.求余运算 求余运算%和取余函数mod()的作用相同,余数的正负号与除数一致。如果被除数和除数同号,那么运算结果即为两数相除的余数;如果被除数与除数异号,则运算结果为两数相除的余数再加上除数。 规则:余数的符号首先与被除数一致,如果被除数和除数异号,则结果为余数的值加上除数。如果被除数和除数同号,结果即为两数相除的余数。,例:?15%4,15%-

17、4 ?-15%4, -15%-4,3 -1,1 -3,二.字符表达式 字符表达式由字符运算符将字符型数据连接起来形成,其运算结果仍然是字符型数据。 字符运算符: + - +:为完全连接符,将包括空格在内的两个字符串首尾相连接形成一个新的字符串。 -:为不完全连接符,用于连接两个字符串,并将前一个字符串尾部的空格移到合并后的新字符串的尾部。 例:?“我们都是 “+“中国人“?“我们都是 “-“中国人“,我们都是 中国人,我们都是中国人,三.日期时间表达式 日期运算符: + 表示数据相加 - 表示数据相减,日期时间表达式的格式,四.关系表达式 1.关系表达式:关系表达式通常也称为简单逻辑表达式,它

18、由关系运算符将两个运算对象连接起来形成。格式为:关系运算符的作用是比较两个表达式的大小或前后,其运算结果是逻辑型数据。,运算符=和$仅适用于字符型数据。其他运算符适用于任何类型的数据,用来对两个类型的数据进行比较,比较的结果是逻辑值。 数值型数据和货币型数据按数值大小进行比较 日期型数据按年月的先后进行比较:越早的时间越小,越晚的时间越大。 字符型数据按相应位置上两个字符的ASCII码值的大小进行比较。 逻辑型数据 .t.大于.f. 子串包含测试$ $ 功能:左边字符串是右边字符串的子串才是真,2.设置字符的排序次序 字符的大小取决于字符集中字符的排序次序,排在前面的字符小,排在后面的字符大。

19、在VF中,默认的字符排序次序为pinyin,也可以进行设置。 工具选项-数据-排序序列-选择machine(机器)、pinyin、stroke。 在命令窗口中输入set collate to “排序次序名“ 排序次序名必须放在引号中。次序名可以是machine(机器)、pin yin、stroke。,machine(机器):指定的字符按照机内码顺序排序:空格在最前面,大写ABCD字母序列在小写abcd字符序列的前面。因此,大写字母小于小写字母。 pin yin(拼音):按照拼音次序排序。空格在最前面,小写abcd字母序列在前,大写ABCD字母序列在后。因此,大写字母大于小写字母。 Stroke

20、(笔画):无论什么字符,按照书写笔画的多少排序。,3.字符串精确比较与exact设置 在用双等号运算符=比较两个字符串时,只有当两个字符串完全相同(包括空格以及各字符的位置)时,运算结果才会是逻辑真.t.否则为逻辑假.f. 在用单等号运算符=比较两个字符时,运算结果与set exact on | off 设置有关。 ON:先在较短字符串的尾部加上若干个空格,使两个字符串的长度相等,然后再进行精确比较。 OFF默认值:当处于OFF状态时,只要右边的字符串与左边的字符串的前面部分内容相匹配,即可得到逻辑真.T.的结果。也就是说,字符串的比较以右面的字符串为目标,右字符串结束即终止比较。,例:字符串

21、比较与exact设置示例。Set exact offStore “计算机“ to s1Store “计算机 “ to s2Store “计算机世界“ to s3?s1=s3,s3=s1,s1=s2,s2=s1,s2=s1.f. .t. .f. .t. .f. set exact on?s1=s3,s3=s1,s1=s2,s2=s1,s2=s1.f. .f. .t. .t. .f.,五.逻辑表达式 逻辑表达式是由逻辑运算符将关系表达式,逻辑值连接起来形成的,其运算结果仍然是逻辑型数据。逻辑运算符有3个:.Or. .and Not.,也可以写成or、and、not。其优先级顺序为:notand-o

22、r。 逻辑非是单目运算符,其运算结果与操作数的值正好相反。 逻辑与具有“并且”的含义,只有当两个操作数的值均为逻辑真时,运算结果才为逻辑真;否则,运算结果为逻辑假。 逻辑或具有“或者”的含义,两个操作数中,只要有一个为逻辑真,则运算结果就为逻辑真;否则,运算结果为逻辑假。,六、运算符的优先级 在一个比较复杂的逻辑表达式中,可能包含多种运算,此时应首先是算术运算,字符运算和日期时间运算,其次是关系运算,最后是逻辑运算,在每种运算中对按各自的优先级别依次进行指定的运算。,表达式小结:,数值表达式,字符表达式,日期时间表达式,关系表达式,逻辑表达式, 函数,函数的要素 函数是用程序来实现的一种数据运

23、算和转换。每一个函数都有特定的数据运算和转换功能,它往往需要若干个自变量,即运算对象,但只有一个运算结果,称为函数值或返回值。函数可以用函数名加一对圆括号加以调用,自变量放在圆括号里。函数的要素分为:函数名、参数名和函数值。 函数名起标识作用; 参数是自变量,一般是表达式,写在括号内; 函数运算后会返回一个值称为函数值,这就是函数的功能,1.绝对值函数 格式:abs() 功能:返回的绝对值. 2.求符号函数 格式:sign() 功能:返回的符号。当表达式的运算结果为正、负和零时,函数值分别为1、-1、0。 3.求平方根函数 格式:sqrt() 功能:求的平方根。自变量的值不能为负。,数值函数,

24、4.圆周率函数 格式:pi() 功能:返回圆周率(数值型).该函数没有自变量。 5.整数函数 格式:int() 格式:ceiling() 格式:floor() 功能:int()返回的整数部分。 ceiling()返回大于或等于指定的最小整数。 floor()返回小于或等于指定的最大整数。,6.四舍五入函数 格式:round(,) 功能:返回指定的表达式在指定位置四舍五入后的结果,指明四舍五入的位置。若大于等于零,则表示要保留的小数位数。若小于等于零,则表示整数部分的舍入位数。 例:?round(345.345,2), round(345.345,1)345.35 345.3?round(345

25、.345,0), round(345.345,-1) 345 350?round(123.4567,3),123.457,7.求余数函数 格式:mod(,) 功能:返回两个数值相除后的余数。是被除数,是除数。余数的正负号与除数相同。如果被除数与除数同号,那么函数值即为两数相除的余数;如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。 例:?mod(10,3),mod(10,-3)1 -2 ?mod(-10,3),mod(-10,-3)2 -1,8.求最大值和最小值函数 格式:max(,) 格式:min(,) 功能:max()计算各自变量的值,并返回其中的最大值。 min()计算各自

26、变量的值,并返回其中的最小值。 自变量可以是任何类型,但所有表达式的类型必须一致。 例:?max(2,12,05),min(“中国“,“日本“)主屏幕显示:2 日本,字符函数,1.求字符串长度函数 格式:len() 功能:返回字符的长度(即字符的个数). 例:len(“abcd“),len(“中华人民共和国“) 2.大小写转换函数 格式:upper() 格式:lower() 功能:upper()将表达式中的小写字母转换成大写字母。 lower()将表达式中的大写字母转换成小写字母。,3.空格字符串生成函数 格式:space() 功能:返回由指定数目的空格组成的字符串。 4.删除前后空格函数 格

27、式:trim() 格式:ltrim() 格式:alltrim() 功能:trim()返回指定值去掉尾部空格后形成的字符串。 ltrim()返回指定值去掉前导空格后形成的字符串。 alltrim()返回指定值去掉前导和尾部空格后形成的字符串。,5.取子串函数 格式:left(,) 格式:right(,) 格式:substr(,) 功能:left()从指定表达式值的左端取一个指定长度的子串作为函数值。 Right()从指定表达式值的右端取一个指定长度的子串作为函数值。 Substr()从指定表达式值的指定起始位置取指定长度的子串作为函数值。若缺省则函数从指定位置一直取到最后。,6.计算子串出现次数

28、函数 格式:occurs(,) 功能:返回第一个字符串在第二个字符串中出现的次数,函数值为数值型。若第一个字符串不是第二个字符串的子串,则函数值为0。 例:store “this is a program.“ to a?occurs(s,a),occurs(a,a),occurs(“t“,a)2 2 1?occurs(“电脑“,“计算机俗称电脑“) 1,7.求子串位置函数 格式: at(,) atc(,) 功能:at()的函数值为数值型。如果是的子串,则返回值的首字符在值中的位置;若不是子串,则返回0。 atc()与at()功能类似,但在子串比较时不区分字母大小写。第三个自变量用于表明要在值中

29、搜索值的第几次出现,其默认值是1。,8.子串替换函数 格式:stuff(,) 功能:用值替换中由和指明的一个子串。替换和被替换的字符个数不一定相等。如果值是0,则插在由指定的字符前面。如果值是空串,那么中由和指明的子串被删去。?stuff(“Good bye!“,6,3,“morning“)Good morning!,9.字符替换函数 格式:chrtran(,) 功能:该函数的自变量是三个字符表达式。当第一个字符串中的一个或多个字符与第二个字符串中的某个字符串相匹配时,就用第三个字符串中的对应字符(相同位置)替换这些字符.如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因而没有对

30、应字符,那么第一个字符串中相匹配的各字符将被删除。如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多余字符被忽略,例:x1=chrtran(“abacad“,“acd“,“x12“) Y1=chrtran(“计算机abc“,“计算机“,“电脑“) z1= chrtran(“大家好!“,“大家“,“东方一诺“) ?x1,y1,z1 xbx1x2 电脑abc 东方好! 习题:chrtran(“电脑信息时代“,“电脑“,“计算机“)occurs(“Fox“,“Visual FoxPro“)at(“Fox“,“Visual FoxPro“) 已知X=”2008年奥运中国申办成功”,在下面

31、的括号中填入合适的语句,使其显示结果为 ”中国成功申办2008年奥运” Substr(X,11,4)+( )+substr(X,15,4)+( ),10.字符串匹配函数 格式:like(,) 功能:比较两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真(.t.),否则返回逻辑假(.f.)。 中可以包含通配*和?。*可与任何数目的字符相匹配,?可以与任何单个字符相匹配。 ?like(“?a*“,“dadd“) ?like(“abc“,“?b*“),日期和时间函数,1.系统日期和时间函数 格式:date() 格式:time() 格式:datetime() 功能:date()返回当前

32、系统日期,函数值为日期型。 time()以hh:mm:ss的格式返回系统当前时间,函数值为字符型。 Datetime()返回当前系统日期时间,函数值为日期时间型。,2.求年份、月份和天数函数 格式:year(|) 格式:month(|) 格式:day(|) 功能:year()从指定的或中返回年份。 month()从指定的或中返回月份。 day()从指定的或中返回月里面的天数。 这三个函数的返回值都是数值型。,3.时、分和秒函数 格式:hour() 格式:minute() 格式:sec() 功能:hour()从指定的日期时间表达式中返回小时部分。 minute()从指定的日期时间表达式中返回分钟

33、部分。 sec()从指定的日期时间表达式中返回秒数部分。 这三个函数的返回值都是数值型。,数据类型类型转换函数,1.数值转换成字符串 格式:str(,) 功能:将的值转换成字符串,转换时根据需要自动进行四舍五入。返回字符串的理想长度L应该是值的整数部分位数加上值,再加上一个小数点。如果值大于L,则字符串加前导空格以满足规定的要求;如果值大于等于值的整数部分位数(包括负号)但又小于L,则优先满足整数部分而自动调整小数位数;如果值小于值的整数部分位数,则返回一串星号(*)。的默认值为0,的默认值为10。,例:store -1456.45132 to n ?str(n,11,5),str(n,13,

34、5),str(n,9,3) -1456.45132 -1456.45132 -1456.451 ?str(n,6,3),str(n,7,3),str(n,5,3),str(n,3,3) -1456 -1456.5 -1456 * 下列表达式中,肯定不是vf的合法表达式的是()A、9999-ABB、NAME+“name“C、05/01/03D、“经理“.or.“副经理“,2.字符串转换成数值 格式:val() 功能:将由数字符号(包括正负号、小数点)组成的字符型数据转换成相应的数值型数据。若字符串内出现非数字字符,那么只转换前面部分;若字符串的首字符不是数字符号,则返回数值零,但忽略前导空格。

35、例:?val(“123.4a56“),val(“12ab34“)123.40 12.00?val(“b1230“)0,3.字符串转换成日期或日期时间 格式:ctod() 格式:ctot() 功能:ctod()将值转换成日期型数据. ctot()将值转换成日期时间型数据. 字符串中的日期格式要与set date to 命令设置的格式一致。其中的年份可以用四位,也可以用两位。如果用两位,则世纪由set century to 语句指定。,4.日期或日期时间转换成字符串 格式:dtoc(|,1) 格式:ttoc(,1) 功能:dtoc()将日期型数据或日期时间数据的日期部分转换成字符串。 ttoc()

36、将日期时间数据转换成字符串。 字符串中日期部分的格式与set date to语句的设置和set century on|off语句的设置有关。 对dtoc()来说,如果使用选项1,则字符串的格式总是为yyyymmdd,共8个字符。对ttoc来说,如果使用选项1,则字符串的格式总是为yyyymmddhhmmss,采用24小时制,共14个字符。,5.宏替换函数 格式:&. 功能:替换出字符型变量的内容,即&的值是变量中的字符串。如果该函数与其后的字符无明确分界,则要用“.”作函数结束标识。宏替换可以嵌套使用。 例:xx=“学生表“use &xx 可打开学生表 假定M=100,N=200,K=“M+N

37、“,则表达式50+&K的值是?350,测试函数,1.值域测试函数 格式:between(,) 功能:判断一个表达式的值是否介于另外两个表达式之间。当值大于等于且小于等于时,函数值为真,否则为假。如果或有一个是null值,那么函数值也是null。 要求:三个自变量的类型要一致. 例:?between(100,90,110),between(50,.null.,80).t. .null.,2.空值(null值)测试函数 格式:isnull() 功能:判断一个表达式的运算结果是否为null值,若是null值返回逻辑真.t.,否则返回逻辑假.f.。 store .null. to x ?x,isnul

38、l(x) .null. .t. 对于字段变量也同样适用。,3.“空“值测试函数 格式:empty() 功能:根据指定表达式的运算结果是否为“空“值,返回逻辑真,或逻辑假。 要注意:这里所说的“空“值与null值是两个不同的概念。函数empty(.null.)的返回值是逻辑假。另外,该函数自变量表达式的类型除了可以是数值型之外,还可以是字符型、逻辑型、日期型等。不同类型的数据的“空”值也有不同的规定。对于字段变量也同样适用。 (见下页表),例: ?empty(0),empty(120),empty(“),empty(“a“),.t. .f. .t. .f.,4.数据类型测试函数 格式:varty

39、pe(,) 功能:测试的类型,返回一个大写字母,函数值为字符型。字母的含义如下表,5.表文件尾测试函数 格式:eof(|) 功能:记录指针指向最后一条记录的后面时返回逻辑真.t.,否则返回逻辑假.f.。若缺省自变量,则测试当前表文件。 例: use sbgo bottom?eof()skip-1?eof(),.t.,.f.,6.表文件首测试函数 格式:bof(|) 功能:记录指针指向第一条记录的前面时返回逻辑真.t.,否则返回逻辑假.f.。 例:use sbgo 1 skip -1?eof(),7.记录号测试函数 格式:recno(|) 功能:返回当前记录指针指向记录的记录号。 8.记录个数测试函数 格式:reccount(|) 功能:统计当前数据表中的记录个数。 9. 记录删除测试函数 格式:deleted(|) 功能:测试指定的表中的记录指针所指的当前记录是否有删除标记“*“,若有为真,否则为假。,10.条件测试函数 格式:iif(,) 功能:测试的值,若为逻辑真,函数返回的值,若为假,函数返回的值。和的类型不要求相同。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初级教育 > 小学教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报