VisualFoxPro数据与数据运算.ppt

上传人:小飞机 文档编号:6523119 上传时间:2023-11-08 格式:PPT 页数:60 大小:276.49KB
返回 下载 相关 举报
VisualFoxPro数据与数据运算.ppt_第1页
第1页 / 共60页
VisualFoxPro数据与数据运算.ppt_第2页
第2页 / 共60页
VisualFoxPro数据与数据运算.ppt_第3页
第3页 / 共60页
VisualFoxPro数据与数据运算.ppt_第4页
第4页 / 共60页
VisualFoxPro数据与数据运算.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《VisualFoxPro数据与数据运算.ppt》由会员分享,可在线阅读,更多相关《VisualFoxPro数据与数据运算.ppt(60页珍藏版)》请在三一办公上搜索。

1、1,第2章,Visual FoxPro数据与数据运算,2,本章概要:,Visual Foxpro的语言有哪些要素VFP支持的数据类型VFP常量定义VFP变量定义VFP表达式定义,表达式运算符及其优先级VFP函数类型与功能,3,2.1 Visual FoxPro数据,2.1.1Visual FoxPro数据类型 为了满足存储和处理数据的需要,Visual FoxPro提供了13种类型,它们是字符型、数值型、整型、浮点型、双精度型、货币型、逻辑性、日期型、日期时间型、备注型、通用型、字符型(二进制)和备注型(二进制)。,4,2.1.2 常量,常量(Constant)是指在程序运行期间,其值不变的量

2、。常量的写法和其类型有关。Visual Foxpro 6.0常见的数据类型的常量有:数值型、货币型、字符型、日期型、日期时间型、逻辑型。,5,1.数值型常量数值型常量也就是常数,用来表示数量的大小。数值型常量由数字09、小数点和正负号构成,在内存中占8个字节,取值范围是-0.999 999 999 9E+19-0.999 999 999 9E+20。例如:65、8.45、43等。,6,2.字符型常量字符型常量也称字符串,其表示方法是用半角单引号、双引号或方括号 把字符括起来,这里的单引号、双引号或方括号 称为“定界符”,其作用是确定字符串的起始和终止界限,它本身不作为字符串的一部分。定界符虽然

3、不作为常量本身的内容,但它规定了常量的类型以及常量的起始和终止界限。例如:金苹果。,7,3.逻辑型常量逻辑型数据只有逻辑真和逻辑假两个值。逻辑真的常量形式有:.T.、.t.、.Y.和.y.,逻辑假的常量表示形式有:.F.、.f.、.N.和.n.。前后两个黑点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。逻辑型数据只占用1个字符。,8,4.日期型常量日期型常量是用一对花括号括起来包括日期的数据。花括号内包括年、月、日3部分内容,各部分内容之间用分隔符分隔。常用的日期分隔符有斜杠(/)、连字号()、句点(.)和空格。日期型常量格式传统的日期格式严格的日期格式,9,常用日期格式,10,5

4、.日期时间型常量日期时间型常量包括日期和时间两部分:,。部分与日期型常量相似,也有传统和严格的格式。部分的格式为:hh:mm:ssa|p。其中hh、mm和ss分别代表时、分和秒。系统默认的格式为AM。日期时间型数据用8个字节存储,第一个4字节保存日期,其余的4字节保存时间。,11,6.货币型常量货币型常量用来表示货币值,其书写格式与数值型常量类似,但在表示货币型常量时,需要在数字前加上货币符号。货币数据在存储和计算时,采用4位小数,占据8字节存储空间。货币型数据用字母Y表示。如果一个货币型常量多于4位小数,则系统会自动将多余的小数四舍五入。例如:常量$9.8756789存储为$9.8757。,

5、12,2.1.3 变量,变量(Variable)是指在程序运行期间其数值会变化的量。变量的两个特性:变量的名,在程序运行期间是不变的。变量的值,在程序运行期间是可变的。通过变量名引用变量值。,13,Visual FoxPro创建变量名时,必须遵循以下命名规则:只使用字母、汉字、下划线和数字。以字母、汉字、下划线开头。使用1到128个字符,字段名,自由表名和索引标识最多只能10字符长。避免使用Visual FoxPro保留字。VFP定义的,有特定含义。必须是见名知意,即看见变量名知道变量名的含义。例如要对年龄取变量名,使用age就比使用x好。,14,1.内存变量根据变量的存在方式,分为内存变量和

6、字段变量。字段变量:字段变量是数据库管理系统中的一个重要概念,字段变量就是指数据库表中已经定义的任意一个字段,伴随数据表打开而存在的变量,字段变量随数据表的关闭而消失。内存变量:不是字段变量就一定是内存变量。是一系列机算机内存单元,用于保存对数据库存进行某种分析处理或程序执行过程中的中间结果和最终结果。内存变量的类型在Visual FoxPro中可以为数值型、字符型、逻辑型和日期型。,15,内存变量常用命令(1)内存变量的赋值内存变量赋值语句格式一如下:|=表达式例:age=20?age20(输出结果)内存变量赋值语句格式二如下:STORE TO|例:store 22 to age1,age2

7、?age1,age222 22(输出结果),16,(2)表达式值的显示格式:?|?每次另起一新行输出结果,而?是在当前行输出结果。例:?他说:太好了!输出的结果是:他说:太好了!。例:?“好”,“太好了!”输出结果是:好 太好了!,17,(3)内存变量显示格式1:LIST MEMORY LIKE TO PRINTER|TO FILE格式2:DISPLAY MEMORY LIKE TO PRINTER|TO FILE,18,(4)清除内存变量格式1:CLEAR MEMORY格式2:RELEASE格式3:RELEASE ALL EXTENDED格式4:RELEASE ALL LIKE|EXCEPT

8、,19,(5)内存变量的保存与恢复格式1:SAVE TO 内存变量文件名 ALL LIKE|EXCEPT 格式2:RESTORE FROM 内存变量文件名 ADDITIVE,20,2.系统变量 系统变量是特有的变量,是系统内部提供的,为方便程序设计人员和用户。系统变量由Visual FoxPro自动定义和维护,往往以“_”(下划线)开头,因此在给普通的内存变量命名时最好不要以“_”字符开头,以避免混淆。一般情况下,不要修改系统变量。,21,3字段变量 由于表中的各条记录对同一个字段名可能取值不同,该字段变量的取值会随着当前记录的变化而变化,因此称为字段变量。它是数据库中一个非常重要的概念。但值

9、得注意的是,若内存变量名与当前所打开的数据表的字段变量同名,引用时,系统优先字段变量,若要特指内存变量,应在内存变量名前加上前缀“M.”或“M-”。,22,2.1.4 数组变量创建数组的格式:DIMENSION(,),DECLARE(,),23,例如:数组的定义及赋值DIMENSION a(2),b(2,2)&定义两个数组a=100&a数组所有元素赋值为100b(1,1)=a(1)&引用数a的元素给b数组元素赋值 STORE.T.TO b(1,1)&给b数组一个元素重复赋逻辑值b(1,2)=南京大学&给b数组一个元素赋字符值”南京大学”b(2,1)=2006/11/16&给b数组一个元素赋日期

10、值,24,创建数组的注意项:在一切可以使用简单内存变量的地方,均可以使用数组元素。在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素。在同一个运行环境下,数组名不能与简单变量名重复。在赋值语句中的表达式位置不能出现数组名,可以出现具体的数组元素名。可以用一维数组的形式访问二维数组。,25,2.2 表达式及其运算,26,1数值表达式定义:数值表达式又叫做算术表达式,是最容易理解的 一种表达式。数值型数据可以是数值型常量或者变量。算术运算优先级,2.2.1 表达式,27,2字符表达式定义:由字符串连接运算符将字符型常量、变量或者函数连接起来形成,其运算结果仍然是一个字符型数

11、据。运算符:前后两个字符串首尾连接形成一个新的字符串。:连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。它们的优先级相同。,28,3日期时间表达式运算符:日期时间表达式中可以使用的运算符也有和。,日期时间表达式的格式,29,4关系表达式(1)定义:通常称为简单逻辑表达式,它由关系运算符将两个运算对象连接起来形成。,关系运算符,30,(2)设置字符的排序次序人机对话方式方法:选择“工具”菜单栏下的“选项”,打开“选项”对话框,单击“数据”选项卡。从右上方的“排序序列”下拉框中选择“Machine(机器)”、“PinYin(拼音)”或者“Stroke(笔画)”。命令方式设置:S

12、ET COLLATE TO“”,31,(3)字符串精确比较与EXACT设置,SET EXACT对字符串比较的影响,32,5逻辑表达式定义:由逻辑运算符将逻辑型数据连接而形成的,其运算符结果仍然是逻辑型数据。运算符:.NOT.或!(逻辑非)、.AND.(逻辑与)和.OR.(逻辑或)。其优先级顺序依次为.NOT.、.AND.、.OR.。,33,逻辑运算规则,34,运算符小结:,35,2.3 函 数,函数的一般形式为:函数名(参数1,参数2),36,2.3.1 数值函数,1.绝对值和符号函数格式:ABS()SIGN()功能:ABS()函数返回指定的数值表达式的绝对值。SIGN()函数返回指定数值表达

13、式的符号。当表达式的结果为正、负和0时,函数值分别为1、-1和0。,37,2求平方根函数格式:SQRT()功能:SQRT()函数返回数值表达式的平方根。3圆周率函数格式:PI()功能:PI()函数返回数值常量的近似值。,38,4.取整数函数格式:INT()CELING()FLOOR()功能:INT()函数返回数值表达式的整数部分。CELING()函数返回大于或等于数值表达式的最小整数。FLOOR()函数返回小于或等于数值表达式的最大整数。,39,5.四舍五入函数格式:ROUND(,)功能:ROUND()函数返回数据表达式在指定位置四舍五入后的结果。6.求余函数格式:MOD(,)功能:MOD()

14、函数返回除以两个数相除后的余数。余数的正负号与除数相同。如果被除数与除数同号,那么函数值就为两数 相除的余数。如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。,40,7.求最大值和最小值函数 格式:MAX(,)MIN(,)功能:MAX()函数返回数值表达式中的最大值表达式。MIN()函数返回数值表达式中的最小值表达式。,41,字符函数,1LEN()函数格式:LEN()功能:LEN()函数返回字符表达式值的长度,函数值为数值型。2大小写转换函数格式:LOWER()UPPER()功能:LOWER()函数将表达式中的大写字母转换成小写字母,其他字符不变。UPPER()函数将表达式中的小

15、写字母转换成大写字母,其他字符不变。,42,3空格字符生成函数格式:SPACE()功能:SPACE()函数生成指定空格数的空字符串。,4删除前后空格函数格式:TRIM()LTRIM()ALLTRIM()功能:TRIM()返回指定字符表达式值去掉尾部空格后形成的字符串。LTRIM()函数删除串首空格字符。ALLTRIM()函数删除首尾空格字符。,43,5.取子串函数格式:LEFT(,)RIGHT(,)SUBSTR(,)功能:LEFT()函数从字符表达式值的左端取一个 指定长度的子串作为函数值。RIGHT()函数从字符表达式值的右端取一个指定长度的子串作为函数值。SUBSTR()函数从表达式值的起

16、始位置取一个指定长度的子串作为函数值。,44,6.计算子串出现次数函数格式:OCCURS(,)功能:OCCURS()函数返回第一个字符串在第二个字符串中出现的次数。7.求子串位置函数格式:AT(,)ATC(,)功能:AT()函数返回值的首字符在值中的位置。ATC()与AT()功能相似,但在子串比较时不区分字母大小写。,45,8.子串替换函数 格式:STUFF(,)功能:STUFF()函数用串替换串中由和指明的一个子串。9.字符替换函数格式:CHRTRAN(,)功能:CHRTRAN()是当第一个字符串中的第一个或多个相同字符与第二个字符中的某个字符相匹配时,就用第三个字符串中的对应字符替换这些字

17、符。,46,10.字符串匹配函数 格式:LIKE(,)功能:比较两个字符串对应位置上的字符,若所有对应 字符都相匹配,函数返回逻辑真,否则返回逻辑假。,47,11宏替换函数格式:&.功能:替换出的内容,即去掉的定界符作为函数的返回值。说明:函数返回值可以是各种类型,即为去掉定界符的类型;若宏替换函数与其后的字符没有空格分界,则要用“.”作为函数结束标记。,48,2.3.3 日期和时间函数,1.获取系统日期和时间函数格式:DATE()TIME()DATETIME()功能:DATE()函数返回当前系统日期,函数值为日期型。TIME()函数以24小时制,hh:mm:ss格式返回当前系统时间,函数值为

18、字符型。DATETIME()函数返回当前系统日期时间,函数值为日期时间型。,49,2.获取年份、月份和天数函数格式:YEAR()MONTH(|)DAY(|)功能:YEAR()从指定的日期表达式或日期时间表达式中返回年份。MONTH()从指定的日期表达式或日期时间表达式中返回月份。DAY()从指定的日期或日期时间表达式中返回月份中的天数,50,3.获取时、分和秒函数格式:HOUR()MINUTE()SEC()功能:HOUR()函数从日期时间表达式中返回小时部分(24小时制)。MINUTE()函数从日期时间表达式中返回分钟部分。SEC()函数从日期时间表达式中返回秒数部分。,51,2.3.4 数据

19、类型转换函数,1.数值转换成字符串格式:STR(,)功能:STR()函数将按设定的和转换成字符型数据,函数返回值为字符型。2.字符串转换成数值格式:VAL()功能:VAL()将数值字符串转换为数值。,52,3.字符串转换成日期或日期时间格式:CTOD()CTOT()功能:CTOD()函数将“mm/dd/yy”格式的串转换成对应的日期值,返回的函数值为日期型。CTOT()将 转换成日期时间型数据。4.日期或日期时间转换成字符串格式:DTOC(|,1)TTOC(日期时间表达式,1)功能:DTOC()函数将转换成字符串,函数返回值类型为字符型。TTOC()将日期时间型数据转换成字符串。,53,5.字

20、符转换为对应的ASCII码函数格式:ASC()功能:返回指定字符值中第一个字符ASCII码值。?ASC(“ADCEF”)&结果为656.ASCII码转换为对应的字符函数格式:CHR()功能:返回所对应的ASCII码值的字符。?CHR(99)&结果为c,54,2.3.5 测试函数,1.值域测试函数格式:BETWEEN(,)功能:BETWEEN()函数判断一个表达式的值是否在另外两个表达式的值之间。当值大于等于且小于等于时,函数值为逻辑真(.T.),否则函数值为逻辑假(.F.)。如果或有一个是NULL值,则函数值也是NULL值。,55,2.空值(NULL值)测试函数格式:ISNULL()功能:IS

21、NULL()函数判断一个表达式的运算结果是否为.NULL.值,如果是.NULL.值,则返回逻辑真(.T.),否则逻辑值假(.F.)。3.“空”值测试函数格式:EMPTY()功能:EMPTY()函数根据表达式的运算结果是否为“空”值,返回逻辑真(.T.)或逻辑假(.F.)。,56,不同类型数据的“空”值规定,57,4.数据类型测试函数格式:VARTYPE(,)功能:VARTYPE()函数测试的类型,返回一个大写字母,函数值为字符型。例如:?VARTYPE(2009-07-30 02:08:25 PM)&结果为T?VARTYPE(.NULL.,.T.)&结果为X,58,VARTYPE()函数测试的数据类型对应表,59,5.条件测试函数格式:IIF(,)功能:IIF()函数测试的值,如果为逻辑真(.T.),函数返回的值。如果为逻辑假(.F.),函数返回的值。例如:X=“等级考试”Y=“计算机等级考试”?IIF(X$Y,“2008年9月”,“2009年4月”)&结果为2008年9月,60,再 见!,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号