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

上传人(卖家):晟晟文业 文档编号:5069291 上传时间:2023-02-08 格式:PPT 页数:61 大小:495.50KB
下载 相关 举报
第二章数据与运算课件.ppt_第1页
第1页 / 共61页
第二章数据与运算课件.ppt_第2页
第2页 / 共61页
第二章数据与运算课件.ppt_第3页
第3页 / 共61页
第二章数据与运算课件.ppt_第4页
第4页 / 共61页
第二章数据与运算课件.ppt_第5页
第5页 / 共61页
点击查看更多>>
资源描述

1、1第二章第二章 数据与数据运算数据与数据运算本本 章章 要要 点点2.1 数据类型、常量和变量数据类型、常量和变量2.2 VFP的运算符和表达式的运算符和表达式2.3 Visual FoxPro的系统函数的系统函数2VFP中有常量、变量、表达式和函数中有常量、变量、表达式和函数4种类型数据。种类型数据。常量和变量是数据运算的基本对象,而表达式和函数常量和变量是数据运算的基本对象,而表达式和函数则体现了语言对数据进行运算和处理的能力及功能。则体现了语言对数据进行运算和处理的能力及功能。每种数据都包括每种数据都包括内容内容与数据与数据形式形式(即数据类型)两个(即数据类型)两个方面。数据类型决定了

2、数据的存储方式和运算方法。方面。数据类型决定了数据的存储方式和运算方法。VFP数据类型:数据类型:8种,分别是:字符型、数值型、日种,分别是:字符型、数值型、日期型、日期时间型、逻辑型、备注型、通用型、货币期型、日期时间型、逻辑型、备注型、通用型、货币型。型。2.1 数据类型、常量和变量数据类型、常量和变量3 1.字符型(字符型(Character,C):不需要运算):不需要运算组成组成:中英文字符、数字和其他中英文字符、数字和其他ASCII字符字符长度长度:0-254个字符。每汉字算个字符。每汉字算2字符。字符。如:如:“VFP程序设计程序设计”650223 备注类型处理的字符数可以备注类型

3、处理的字符数可以254。2.数值型:表示数量,可运算数值型:表示数量,可运算组成:组成:数字、小数点、正负号和表示乘幂的字母数字、小数点、正负号和表示乘幂的字母E或或e组成组成数值精度数值精度:254的数据,它没有长的数据,它没有长度限制,仅受限于磁盘空间(仅限于表字段定义)度限制,仅受限于磁盘空间(仅限于表字段定义)长度:长度:4字节(实际数据存于表的备注文件字节(实际数据存于表的备注文件.FPT中,中,长度随数据的内容而定)长度随数据的内容而定)。67.通用型(通用型(General,G)与备注型相似,用于存储电子表格、文档、图形与备注型相似,用于存储电子表格、文档、图形图片等信息,长度固

4、定为图片等信息,长度固定为4位。位。8.货币型(货币型(Currency,Y)长度固定为长度固定为8字节,常用符号为字节,常用符号为“$”,默认保留,默认保留4位小数。位小数。如:如:$123$123,$22.8125$22.8125 7 常量是在命令或程序中可直接引用的数据项,其特常量是在命令或程序中可直接引用的数据项,其特征是在整个操作过程中它的值和表现形式保持不变。征是在整个操作过程中它的值和表现形式保持不变。VFP中常量分为中常量分为6种类型:数值型种类型:数值型N、字符型、字符型C、逻辑型、逻辑型L、日期型、日期型D、日期时间型、日期时间型T和货币型和货币型Y。1数值型常量:数值型常

5、量:如如100,-15.31,1.3E+9等。等。2字符型常量字符型常量用成对用成对“”、“”或或“”括起来的字符串。括起来的字符串。如如“student”,国家国家,VFP系统系统若串中要包含若串中要包含“”、“”或或“”字符,字符,则换用另一种定界符,如则换用另一种定界符,如“I m a student.”。3逻辑型常量:逻辑型常量:.t.、.T.或或.y.、.Y.,.f.、.F.或或.n.、.N.2.1.2 常量常量84日期型和日期时间型常量日期型和日期时间型常量空日期:空日期:或或/。空日期时间值:。空日期时间值:/:默认格式默认格式mm/dd/yyyy 如如02/26/0602/26

6、/06和和02/26/200602/26/2006 mm/dd/yyyy,hh:mm:ssa|p 最好使用最好使用“严格的日期格式严格的日期格式”:yyyy-mm-dd,hh:mm:ssa|p,其中其中表明该日期格式是严格的,并按照表明该日期格式是严格的,并按照YMD的格式来表示。的格式来表示。其中的其中的-号可用号可用正斜杠正斜杠“/”、句点、句点“.”或空格或空格代替,如代替,如2004/08/15、2004.08.15、2004 08 15。5.货币型常量货币型常量货币型常量以货币型常量以$符号开头,并四舍五入到小数第符号开头,并四舍五入到小数第4位。位。例如例如$1,234.56789

7、1的计算结果为的计算结果为$1,234.5679。9变量:变量:在操作过程中数据类型和值都可以改变的数在操作过程中数据类型和值都可以改变的数据项。据项。变量变量三要素三要素:变量:变量名名、数据、数据类型类型和变量和变量值值。变。变量种类:量种类:字段字段变量、变量、内存内存变量、变量、数组数组和和系统系统变变量量4类类。2.1.3 变量变量值(内容)变量名数据类型101变量的命名规则变量的命名规则1)组成字符:字母、汉字、下划线和数字组成字符:字母、汉字、下划线和数字2)首字符不能是数字。也不用下划线首字符不能是数字。也不用下划线3)长度长度=128个字符个字符(除自由表字段名、索引的(除自

8、由表字段名、索引的TAG标识名标识名最多只能最多只能10个字符外)个字符外)4)避免完整地使用避免完整地使用VFP的保留字。的保留字。5)字母不区分大小写。字母不区分大小写。除遵守以上规则外,为提高程序的可读性和规除遵守以上规则外,为提高程序的可读性和规范性,应尽量做到见名知义。如人口变量范性,应尽量做到见名知义。如人口变量为为Population,年龄变量为,年龄变量为Age等等。等等。112字段变量字段变量字段变量是数据表中定义的变量,属于永久性变量。其字段字段变量是数据表中定义的变量,属于永久性变量。其字段名就是变量名,字段值就是变量值(表中字段名下数据项)。名就是变量名,字段值就是变量

9、值(表中字段名下数据项)。变量的数据类型为变量的数据类型为VFP中任意数据类型,如中任意数据类型,如C、Y、N、F、D、T、B、I、L、M、G等类型。字段变量是一种多值变量,其等类型。字段变量是一种多值变量,其值为当前记录中该字段的值。值为当前记录中该字段的值。3.内存变量内存变量内存变量是一般意义下的简单变量。有数值型内存变量是一般意义下的简单变量。有数值型N、字符型、字符型C、逻辑型逻辑型L、日期型、日期型D和日期时间型和日期时间型T,但没有备注型但没有备注型M、通用、通用型型G、整型、整型I、浮点型、浮点型F、双精度型、双精度型B等类型的内存变量。等类型的内存变量。12内存变量的内存变量

10、的两种定义方式:两种定义方式:STORE TO 格式一命令动词去向子句包含值的表达式接收值的变量名表STORE 0 TO AA,BB,CC 将数值0赋给变量AA,BB,CCSTORE 李磊 TO NAME 将字符串“李磊”赋给NAME例格式二=接收值的变量名赋值操作符包含值的表达式例A=.T.将逻辑真值赋给变量A134系统变量系统变量系统变量是系统变量是VFP用以设置和保存有关系统的状态、特用以设置和保存有关系统的状态、特性等参数的一类内存变量,它们由性等参数的一类内存变量,它们由VFP系统定义和维系统定义和维护。护。它们都以下划线它们都以下划线“_”开头,因此在定义内存变量和开头,因此在定义

11、内存变量和数组变量名时,不要以下划线开始,以免与系统变量数组变量名时,不要以下划线开始,以免与系统变量名冲突。名冲突。了解、熟悉并且充分地运用系统变量,会给数据库了解、熟悉并且充分地运用系统变量,会给数据库系统的操作、管理带来很多方便,在开发应用程序时系统的操作、管理带来很多方便,在开发应用程序时更是如此。更是如此。145数组数组(结构变量结构变量):是具有相同的名称但下标不同的一是具有相同的名称但下标不同的一组有序的内存变量。其中的每一个变量都称为数组的元组有序的内存变量。其中的每一个变量都称为数组的元素。素。VFP只用一、二维数组只用一、二维数组S1下标变量变量名下标S(1)数组数组名数组

12、元素序号15(1)数组的定义)数组的定义数组必须先定义才能使用。数组必须先定义才能使用。定义数组就是向系统申定义数组就是向系统申请数组元素在内存中的存储空间。请数组元素在内存中的存储空间。定义格式为:定义格式为:DIMENSION|DECLARE (,),(,)如如 DIMENSION x(3),y(2,2)定义了两个数组,一个叫定义了两个数组,一个叫x,有,有3个元素,分别是个元素,分别是x(1)、x(2)、x(3);另一个叫;另一个叫y,有,有22共共4个元素,分别个元素,分别是是y(1,1)、y(1,2)、y(2,1)和和y(2,2),可以存,可以存放放2行行2列的行列式或矩阵。列的行列

13、式或矩阵。16(2)数组的赋值与引用)数组的赋值与引用数组的赋值与引用遵循内存变量的规则。数组的赋值与引用遵循内存变量的规则。此外,还此外,还要注意以下几点:要注意以下几点:1)在定义数组时,系统自动将各元素的初值赋为在定义数组时,系统自动将各元素的初值赋为.F.。数组元素的数据类型也可在赋值的过程中不断改数组元素的数据类型也可在赋值的过程中不断改变,同一数组中不同元素存放的数据类型可以不变,同一数组中不同元素存放的数据类型可以不同。同。2)除了可像普通内存变量一样单个地给数组各元素)除了可像普通内存变量一样单个地给数组各元素赋值外,也可以用赋值外,也可以用“”号和号和STORE命令将同命令将

14、同一个值同时赋给整个数组的每一个元素。如:一个值同时赋给整个数组的每一个元素。如:DIMENSION x(3)x(1)=123x(2)=abc?x(1),x(2),x(3)&结果为:结果为:123 abc .F.17 显示输出:?、?、显示输出:?、?、DISPLAY/LIST 内存变量的保存内存变量的保存:SAVE TO 内存变量的恢复内存变量的恢复:RESTORE FROM 内存变量的清除:内存变量的清除:RELEASE2.1.4 内存变量常用命令内存变量常用命令18说明:说明:选用选用LIKE 子句可只与通配符匹配的变量的相关信息,通子句可只与通配符匹配的变量的相关信息,通配符有配符有*

15、和?两种,?代表单个字符,和?两种,?代表单个字符,*代表一个或多个字符。代表一个或多个字符。选用选用TO PRINTER子句可将屏幕显示内容输出到打印机,使用子句可将屏幕显示内容输出到打印机,使用PROMPT则弹出要否打印的提示窗口。选用则弹出要否打印的提示窗口。选用TO FILE子句可将屏幕显示内容存入指定文本文件。子句可将屏幕显示内容存入指定文本文件。用逗号分隔的多个表达式,输用逗号分隔的多个表达式,输出时以空格分隔各表达式的值出时以空格分隔各表达式的值指定输出位置。多个表达指定输出位置。多个表达式必须用多个式必须用多个AT子句分子句分别指定,可反序定位。别指定,可反序定位。先换行,再输

16、出先换行,再输出不换行,直接输出不换行,直接输出变量的基本操作变量的基本操作1.变量值的显示输出:?变量值的显示输出:?|?AT 2.显示变量状态信息:名字、作用范围、类型和值等信息。显示变量状态信息:名字、作用范围、类型和值等信息。格式:格式:DISPLAY|LIST MEMORY LIKE TO PRINTER PROMPT|TO FILE NOCONSOLE19除字段外,在退出除字段外,在退出VFP或关机后变量就不再存在;想下或关机后变量就不再存在;想下次 再 用 的 变 量,需 要 保 存 在 文 件 中次 再 用 的 变 量,需 要 保 存 在 文 件 中(扩 展 名(扩 展 名为为

17、.MEM)。保存符合通配符保存符合通配符条件的所有变量条件的所有变量保存除符合通配符保存除符合通配符条件外的所有变量条件外的所有变量格式:格式:SAVE TO ALL LIKE|ALL EXCEPT 2.变量的保存变量的保存20SAVE TO VAR1 将除系统内存变量以外所有内存变量保存到VAR1.MEM文件中。即:AA、BB、CC、NAME、A。SAVE TO VAR2 ALL LIKE?A*将第一个字符是任意字符,第二个字符是A的所有内存变量保存到VAR2.MEM文件中。即AA、NAME。SAVE TO VAR3 ALL EXCEPT?A*将自定义内存变量中第二个字符不是A的所有内存变量

18、保存到VAR2.MEM文件中。即BB、CC、A。SAVE命令示例命令示例21 3.变量的恢复变量的恢复要使用保存在文件中的内存变量时,必须要使用保存在文件中的内存变量时,必须先恢复到内存中。先恢复到内存中。格式:格式:RESTORE FROM 22恢复内存变量示例恢复内存变量示例在命令窗口中继续执行下列命令RESTORE FROM VAR1LIST MEMORY LIKE*屏幕显示在命令窗口中继续执行下列命令RESTORE FROM VAR2LIST MEMORY LIKE*屏幕显示在命令窗口中继续执行下列命令RESTORE FROM VAR3 ADDITIVE LIST MEMORY LIK

19、E*屏幕显示234.变量的清除变量的清除内存变量不用时应及时清理,减少内存的占用。内存变量不用时应及时清理,减少内存的占用。RELEASE|ALL LIKE|EXCEPT 如:如:RELEASE A,B&清除内存变量清除内存变量a,b RELEASE ALL&清除所有内存变量清除所有内存变量 RELEASE ALL LIKE A*&清除所有以字母清除所有以字母A开头的内存变量开头的内存变量 RELEASE ALL EXCEPT?B*&清除除第二个字母为清除除第二个字母为B的所有内存变量。的所有内存变量。24在命令窗口中执行下列命令RELEASE BB,CC LIST MEMORY LIKE*屏

20、幕显示在命令窗口中继续执行下列命令RELEASE ALL LIKE?A*LIST MEMORY LIKE*屏幕显示252.2 VFP的运算符和表达式的运算符和表达式 表达式组成:表达式组成:小括弧、常量、变量、函数、数组和运算符小括弧、常量、变量、函数、数组和运算符运算符(运算的类型),分为五类:运算符(运算的类型),分为五类:算术运算符、字符运算符、日期运算符、关系运算算术运算符、字符运算符、日期运算符、关系运算符和逻辑运算符。符和逻辑运算符。表达式的数据类型表达式的数据类型(最终计算结果值的类型)(最终计算结果值的类型)也分也分5类:算术运算符、字符运算符、日期运算符、类:算术运算符、字符

21、运算符、日期运算符、关系运算符和逻辑运算符。关系运算符和逻辑运算符。26表表2-1 算术运算符算术运算符运算符运算符功能功能表达式举表达式举例例运算结运算结果果优先级优先级别别()圆括号圆括号(2-5)*(3+2)-15最高最高|最低最低取相反数取相反数-(3-8)5*、乘幂乘幂2*5、32、-2*232、9、4*、/、%乘、除、乘、除、取余数取余数2*10、25/520%5、21.5%520、50、1.5+、加、减加、减36+19、29-4755、-1827表表2-2字符运算符字符运算符+、-运算的优先级别相同,但高于运算的优先级别相同,但高于$的比较运算。的比较运算。运算运算符符功能功能表

22、达式举例表达式举例运算结果运算结果+串串1 +串串2:两串顺序相连两串顺序相连接接12 +5612 56-串串1 -串串2:串串1尾空格移到尾空格移到串串2尾后再顺序相尾后再顺序相连接连接12 -561256$串串1$串串2:串串1是否为串是否为串2子串子串1234$a123451234$34512.T.F.28日期运算符日期运算符+、-和日期表达式和日期表达式日期表达式有日期表达式有2种形式:种形式:一个日期型或日期时间型数据一个日期型或日期时间型数据+/-一个数值型数一个数值型数据据作用:在日期作用:在日期/日期和时间数据上增加或减少一个日期和时间数据上增加或减少一个天数天数/秒数。秒数。

23、两个日期型或日期时间型数据用两个日期型或日期时间型数据用“-”号连接而成号连接而成表示两个日期型表示两个日期型/日期时间型数据之间相隔的天数日期时间型数据之间相隔的天数/秒数。秒数。但是两个日期但是两个日期/日期和时间型数据不能进行日期和时间型数据不能进行“+”运运算。算。如:如:2004-7-27-2004-7-26 1(天)(天)2004-7-27+42004-7-3129关系关系(比较比较)运算符和关系表达式运算符和关系表达式(逻辑型值逻辑型值)表表2-3 关系运算符关系运算符其中,西文字符按其中,西文字符按ASCII码比较;码比较;汉字默认按其汉语拼音音序比汉字默认按其汉语拼音音序比较

24、,可设为按笔划数比较(工具较,可设为按笔划数比较(工具|选项选项|数据数据|排序序列排序序列|选择选择“Stroke”|确定)。确定)。运算符运算符功能功能表达式举例表达式举例运算结果运算结果小于小于15大于大于A 1.T.=等于等于2+4=3*5.F.、#、!=不等于不等于5 -10.T.=小于或等于小于或等于abc=大于或等于大于或等于10-10-02=10/01/02.T.=字符串恒同字符串恒同abcabc=abc.F.30逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式 31各类运算符的优先级各类运算符的优先级当表达式中含有多种运算时,必须按一定顺序处理。当表达式中含有多种运算时,必须按一

25、定顺序处理。各类运算的优先顺序如下:各类运算的优先顺序如下:1.圆括号圆括号2.算术和日期运算算术和日期运算3.字符串运算字符串运算 4.关系运算关系运算5.逻辑运算逻辑运算同类运算符的优先级别已经分别介绍。若优先级相同同类运算符的优先级别已经分别介绍。若优先级相同则从左到右,若有多层圆括号嵌套则先内后外。则从左到右,若有多层圆括号嵌套则先内后外。322.3 函数函数 函数是用来进行一些特定的运算或操作的一函数是用来进行一些特定的运算或操作的一段程序代码,用来支持和完善命令的功能,段程序代码,用来支持和完善命令的功能,帮助用户完成各种操作与管理。帮助用户完成各种操作与管理。VFP提供了提供了几

26、百个函数几百个函数供用户使用。供用户使用。函数的类型:函数的类型:数值型、字符型、逻辑型、日数值型、字符型、逻辑型、日期时间型和其它函数。期时间型和其它函数。函数组成:函数名、自变量(放于括弧中,函数组成:函数名、自变量(放于括弧中,也称参数)也称参数)用户自定义函数:由用户自己编写的函数用户自定义函数:由用户自己编写的函数332.3.1数值函数(一数值函数(一)1绝对值:绝对值:ABS()例:例:abs(34)的值是的值是 34 abs(-1.23)的值是的值是 1.23 abs(0)的值是的值是 02取整:取整:INT()自变量与函数为数值型自变量与函数为数值型 例:int(-1.23)的

27、值是 -1 int(45.2)的值是 45 343平方根:平方根:SQRT()例如:?sqrt(1*2)1.414最大最大/小值:小值:MAX/MIN()例:?max(345.9,286.2)345.9?Max(-57,-24)-24例:?min(345.9,286.2)286.2?min(-57,-24)-57355求余数:求余数:MOD(,)【功能】返回nExp1除以nExp2的余数。余数的小数位数与nExp1相同,符号与nExp2相同。例如:?mod(6*8,30/3)8?mod(-89,8)7?mod(89,-8)-7366四舍五入:四舍五入:ROUND(,)功能:返回功能:返回nEx

28、p1四舍五入的值,四舍五入的值,nExp2表示保留的表示保留的小数位数。小数位数。例如:例如:?round(1024.1972,2)?round(1024.1972,2)1024.20 1024.20?round(1024.1972,-2)?round(1024.1972,-2)1000 10007函数:函数:PI()功能:求常量功能:求常量的近似值的近似值8.随机函数:随机函数:RAND()()功能:求功能:求01之间的随机数。之间的随机数。372.3.2 字符函数字符函数1求子串起始位置,整型求子串起始位置,整型AT(,nExp )如果串如果串cExp2不包含串不包含串cExp1,值为零。

29、若,值为零。若有有nExp,则,则找串找串cExp1在串在串cExp2中第中第nExp次出现的起始位置。次出现的起始位置。?AT(“A”,”ABCA”)?AT(“A”,”ABCA”)1 1?AT(A,BCA)?AT(A,BCA)3 3?AT(d,abc)0字符函数是处理字符型数据的函数,其自变量或函数值中字符函数是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。至少有一个是字符型数据。382取子串,取子串,C型型取前取前nExp个字符:个字符:LEFT(,)取后取后nExp个字符:个字符:RIGHT(,)从从cExp串中第串中第nExp1个字符开始,连续取个字符开始,连续取nE

30、xp2个字个字符:符:SUBSTR(,)若缺少若缺少nExp2,则从,则从cExp串中取第串中取第nExp1个字符开始的所有字个字符开始的所有字符。符。?left(“abcdef”,3)?left(“abcdef”,3)abcabc?left(“?left(“云南警官学院云南警官学院”,4),4)云南云南?RIGHT(云南警官学院云南警官学院,4),4)学院学院?RIGHT(云南警官学院云南警官学院,8),8)警官学院警官学院39例如:c=“云南警官学院治安系”?LEFT(c,4)云南?SUBSTR(c,5,8)警官学院?SUBSTR(c,13,6)治安系 403求串长度,求串长度,N型型 L

31、EN()2字符字符/汉字汉字?len(“this is a book”?len(“this is a book”)1414?len(“?len(“云南警官学院治安系云南警官学院治安系”)18184删除字符串空格函数,删除字符串空格函数,C型。型。删除前面的空格:删除前面的空格:LTRIM()删除后面的空格:删除后面的空格:RTRIM|TRIM()删除前面和后面的空格:删除前面和后面的空格:ALLRTRIM()41D=“FoxPro ”?trim(D)Store“大学计算机大学计算机 ”to z?TRIM(Z)+”基础基础“大学计算机基础大学计算机基础5.生成含生成含nExp个空格空格串,个空格

32、空格串,C型型 SPACE()?“云南”+space(4)+”警官“+space(4)+”学院“云南 警官 学院426字符串替换函数,字符串替换函数,C型。型。STUFF(,)从从nExp1位置开始,用位置开始,用cExp2串替换串替换 cExp1串中串中nExp2个字符。个字符。如如STUFF(123456,2,4,A)&显示显示 1A67大小写转换函数:函数值为大小写转换函数:函数值为C型。型。将串全部小写将串全部小写:LOWER()将串全部大写将串全部大写:UPPER()A=“Visual FoxPro”A=“Visual FoxPro”?UPPER(A)VISUAL FOXPRO?UP

33、PER(A)VISUAL FOXPRO?LOWER(A)visual foxproLOWER(A)visual foxpro432.3.3日期时间函数日期时间函数处理日期型或日期时间型数据处理日期型或日期时间型数据1系统日期函数,系统日期函数,D型型 DATE(,)功能:缺省参数时返回当前系统日期;若有参数则生成一个表示功能:缺省参数时返回当前系统日期;若有参数则生成一个表示指定日期的值。指定日期的值。2系统时间函数,系统时间函数,C型型 TIME()功能:返回当前系统时间,时间显示格式为功能:返回当前系统时间,时间显示格式为hh:mm:ss。若选择了若选择了nExp,则不管为何值,返回的系统

34、时间还包括秒的,则不管为何值,返回的系统时间还包括秒的小数部分,精确至小数点后两位。小数部分,精确至小数点后两位。3.系统日期和时间函数,系统日期和时间函数,T型型DATETIME(nYear,nMonth,nDay,nHours,nMinutes,nSeconds)功能:类似功能:类似DATE,若无参数,则返回系统的当前日期和时间。,若无参数,则返回系统的当前日期和时间。若有参数则生成一个表示指定日期和时间的值。若有参数则生成一个表示指定日期和时间的值。444年月日函数:年月日函数:YEAR、MONTH、DAY N型。型。求年份值求年份值:YEAR()求日期值求日期值:DAY()求月份值求月

35、份值:MONTH()5星期函数,星期函数,N型:型:DOW()求求dExp式中星期的数值,用式中星期的数值,用17表示星期日表示星期日-星期六。星期六。6时分秒函数时分秒函数:HOUR、MINUTE、SEC N型。型。求小时值求小时值:HOUR()求分钟值求分钟值:MINUTE()求秒钟值求秒钟值:SEC()452.3.4 数据类型转换函数数据类型转换函数在数据库应用的过程中,经常要将不同数据类型的数在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换。据进行相应转换。VFP提供了若干个转换函数,能提供了若干个转换函数,能较好地解决数据类型转换问题。较好地解决数据类型转换问题。1字符与

36、字符与ASCII码转换函数:码转换函数:1)求串中首字符的)求串中首字符的ASCII码,整型:码,整型:ASC(cExp)如:如:?ASC(“China”)&显示显示672)将指定的)将指定的ASCII码值转换成字符,码值转换成字符,C型型:CHR(nExp)如:如:?CHR(67)&显示显示 C?chr(97),chr(98),chr(99)462字符型与日期(时间)型转换函数:字符型与日期(时间)型转换函数:1)把)把“/”格式的串转换成日期值,格式的串转换成日期值,D型:型:CTOD()例:例:?CTOD(“12/10/99”)的值是:2)把日期转成)把日期转成mm/dd/yy的串,的串

37、,C型:型:DTOC(,1)若有参数若有参数1则以则以yyyymmdd格式转换。格式转换。例:例:?DTOC(date())的值是:12/10/9903/08/06473数值与字符型转换函数数值与字符型转换函数1)数值)数值字符串字符串:str(,)例:str(123.456,8,4)的值是:str(123.456,2)的值是:str(123.123,4)的值是:123.4560*123功能:功能:将数值表达式转换成字符型数据,该字符串的长度由参数给出,它包括小数点和负号,小数位数由参数给出,而不得小于的整数位数,否则,将得到一串“*”482)字符串)字符串数值:数值:VAL()功能:将功能:

38、将cExp串中的数字转换成对应的数串中的数字转换成对应的数值值(从左到右依次处理,直到遇到非数字字符(从左到右依次处理,直到遇到非数字字符或不能作一个数处理的字符为止,若首字符或不能作一个数处理的字符为止,若首字符就不是数字字符,则返回就不是数字字符,则返回0),转换结果取),转换结果取两位小数。函数值为两位小数。函数值为N型。型。例:val(34)的值是:val(-1.23)的值是:val(45.a2)的值是:34-1.234549 2.3.5 2.3.5 测试函数测试函数 在数据库的操作中,我们需要了解数据对象的类型、在数据库的操作中,我们需要了解数据对象的类型、状态等属性,状态等属性,V

39、isual FoxProVisual FoxPro提供了相关的测试函数。提供了相关的测试函数。1数据类型函数TYPE()【格式【格式】TYPE()TYPE()【功能【功能】返回】返回cExp cExp 串表示的数据对象的数据类型,串表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。返回值是一个表示数据类型的大写字母。C C:字符型,:字符型,D D:日期型,日期型,N N:数值型,:数值型,L L:逻辑型,:逻辑型,M M:备注型,:备注型,G G:通用:通用型,型,U U:未定义。:未定义。例:?例:?Type(“5Type(“5*6”)6”)N N?type(“3+25”)?t

40、ype(“3+25”)L L?type(“?type(“计算机计算机“)C C 50例:例:use 学生?bof().F.skip-1?bof().T.2、文件起始测试函数文件起始测试函数 格式:格式:BOF()功能:功能:测定当前库的记录指针是否移到第一条记录之前,若是,函数值为.T.;否则为.F.51 例:use 学生 go bottom?eof().F.skip?eof().T.3、文件结束测试函数文件结束测试函数 格式:格式:EOF()功能:功能:测定当前库的记录指针是否移到最后一条记录之后,若是,函数值为.T.;否则为.F.52 4当前记录号函数RECNO()【格式】【格式】RECN

41、O(|)【功能】返回指定工作区中表的当前记录的【功能】返回指定工作区中表的当前记录的记录号。对于空表返回值为记录号。对于空表返回值为1。例:例:use 学生?RECNO()1 go 5?RECNO()5532文件查找函数:文件查找函数:格式:格式:FILE()功能:根据功能:根据cExp串中指定路径查找文件,如未指串中指定路径查找文件,如未指定路径,则在默认目录中查找。文件存在,返定路径,则在默认目录中查找。文件存在,返回逻辑真回逻辑真(.T.)值,否则为逻辑假值,否则为逻辑假(.F.)值。值。3条件测试函数:条件测试函数:格式:格式:IIF(,)功能:当功能:当lExp值为真值为真(.T.)

42、,返回表达式,返回表达式eExp1的的值,否则返回表达式值,否则返回表达式eExp2的值。的值。eExp1和和eExp2可以是任意数据类型的表达式。可以是任意数据类型的表达式。542.3.6 其它函数其它函数1宏替换函数:宏替换函数:&.功能:替换出字符型变量功能:替换出字符型变量cVar中字符。中字符。e()特别提示:特别提示:&后不能加空格。后不能加空格。例例1:store“您好!”to H?&H 的值是:您好!例例2:C=“display”use 学生?&C 的值是:学生库文件的第一条记录。553字符串匹配函数:字符串匹配函数:LIKE(,)功能:比较功能:比较cExp1和和cExp2串

43、中对应的字符,若串中对应的字符,若所有对应字符都匹配,则返回所有对应字符都匹配,则返回.T.,否则返回否则返回.F.。4.值域测试函数:值域测试函数:BETWEEN(eExp,eExp1,eExp2)功能:判断功能:判断eExp值是否介于值是否介于eExp1和和eExp2之间。之间。56v第一题:是非题第一题:是非题1.在在VFP中变量必须先赋值再使用。(中变量必须先赋值再使用。(x)2.CLOSE ALL和和CLEAR ALL语句的功能是相同的(语句的功能是相同的(x)3.SET EXACT ON只对字符串运算起作用。(只对字符串运算起作用。()4.关系数据库管理系统所管理的关系是一个关系数

44、据库管理系统所管理的关系是一个DBF()5.在在Visual FoxPro中,项目文件的扩展名是中,项目文件的扩展名是.DBC。(x).pjx 数据库文件数据库文件6.TIME()的返回值的数据类型是时间日期类型。(的返回值的数据类型是时间日期类型。(x)577.在下面的在下面的Visual FoxPro表达式中,运算结果是逻表达式中,运算结果是逻辑真的是辑真的是_。A.EMPTY(.NULL.)B.LIKE(acd,ac?)C.AT(a,123abc)D.EMPTY(SPACE(2)8.Visual FoxPro DBMS 基于的数据模型是基于的数据模型是_ 。A.层次型层次型 B.关系型关

45、系型 C.网状型网状型 D.混合型混合型9.下面关于下面关于Visual FoxPro数组的叙述中,错误的是数组的叙述中,错误的是_。A.用用DIMENSION和和DECLARE都可以定义数组。都可以定义数组。B.Visual FoxPro只支持一维数组和二维数组只支持一维数组和二维数组 C.一个数组中各个数组元素必须是同一种数据类型一个数组中各个数组元素必须是同一种数据类型 D.新定义数组的各个数组元素初值为新定义数组的各个数组元素初值为.F.5810如果如果X是一个正实数是一个正实数,对对X的第的第3位小数四舍五入的表达式位小数四舍五入的表达式是是_ A.0.01*int(x+0.005)

46、B.0.01*int(100*(x+0.005)C.0.01*int(100*(x+0.05)D.0.01*int(x+0.05)11.命令命令Y=YEAR(12/15/99)执行后执行后,内存变内存变量量Y的值是的值是_.A.99 B.05 C.11 D.199912.执行以下语句后,变量执行以下语句后,变量c的值为的值为()cchina c=upper(right(c,3)A.Chi B.CHI C.INA D.Ina5913.在以下四组中,每组有两个分别运算的函数,运算结果相同在以下四组中,每组有两个分别运算的函数,运算结果相同的是(的是()。)。A.LEFT(VisualFoxPro,

47、3)与与SUBSTR(VisualFoxPro,1,3)B.YEAR(DATE()与与SUBSTR(DTOC(DATE()()),7,2)C.TYPE(36-5*4)与与TYPE(36-5*4)D.假定假定 A=this ,B=is a string A-B与与A+B 14.表达式表达式2*32+2*8/4+32的值为(的值为()。)。A.64 B.31 C.49 D.2215.关系数据库的三种关系运算:选择、连接、投影关系数据库的三种关系运算:选择、连接、投影,在在VFP中中,投影操作可用投影操作可用()实现实现.A.FIELD B.条件表达式条件表达式 C.范围子句范围子句 D.工作区号工作区号60本章作业本章作业1、上机练习第二章内容中的所有例题,、上机练习第二章内容中的所有例题,以便掌握所学的内容。以便掌握所学的内容。2、P29作业作业.61姓名=”王洪”基本工资=1900?str(1900,4)基本工资=1900?姓名+的基本工资为+基本工资?date()?time(0?datetime()?dow(date()?dow(datetime()?hour(datetime()

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(第二章数据与运算课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|