《visualfoxpro第2章数据与数据运算.ppt》由会员分享,可在线阅读,更多相关《visualfoxpro第2章数据与数据运算.ppt(41页珍藏版)》请在三一办公上搜索。
1、第二章Visual FoxPro的数据与数据运算,2.1 数据类型2.2 常量与变量 2.3 系统函数 2.4 表达式,Page23,2,熟悉各种数据类型的特点掌握常量的类型、变量的赋值方法掌握常用系统函数掌握各种表达式的运算,本章的重点,1.字符型数据,2.数值型数据,7.日期型数据,8.日期时间型数据,*4.浮点型数据,9.逻辑型数据,6.货币型数据,*5.双精度型数据,*3.整型数据,*10.备注型数据,*11.通用型数据,Page23,2.1数据类型,常用的数据类型,4,1.字符型(Character)由任意字符组成(汉字、英文字符、数字字符、空格等)看上去象数值型:学号、工号、电话号
2、码、邮政编码,Page 23,2.1数据类型,注意:将数字定义为字符型数据时,不能参加数学运算。,2.数值型(Numeric)一般将需要参加数学运算的数据定义成数值型。包含数字0-9、小数点与正负号。例:3.14,*3.整型(Integer)无小数部分的数值,占用4个字节*4.浮点型(Float):与数值型数据等价*5.双精度型(Double)存储精度较高、位数固定的数值占用8个字节的存储空间,Page 23,2.1数据类型,只适用于表中的数据类型:,6,6.货币型(Currency)表示货币量的数据,例:$100.356长度为8个字节,Page 24,2.1数据类型,7.日期型(Date)共
3、占用8个字节默认输出格式:mm/dd/yyyy,8.日期时间型(DateTime)描述日期和时间的数据,占用8个字节默认输出格式:mm/dd/yy hh:mm:ss a|p,7,Page 24,2.1数据类型,9.逻辑型(Logical)用来进行各种逻辑判断的数据占用1个字节只有两个值,即真(.T.)和假(.F.),8,*10.备注型(Memo):用于存放较长的数据固定占用4个字节的内存空间,用来指向真正的备注内容。,Page 24,2.1数据类型,只适用于表中的数据类型:,*11.通用型(General):用于存储OLE对象(电子表格、图片等)的引用 通用型数据长度固定为4个字节。,在VFP
4、中,数据可以用常量和变量来表示和存储数据,也被称为存储数据的容器常量(Constants)变量(Variables)内存变量数组变量字段变量,Page 25,2.2常量与变量,1.常量(Constant)定义:在数据处理过程中其值不发生变化的量类型:数值型常量,即常数例如:538、-10.5、3.12E+18 货币型常量:数字前加符号$例如:$538、$10.5,Page 25,2.2常量与变量,1.常量(Constant)类型:字符型常量,即用定界符(单引号、双引号和方括号)括起来的字符串。例如:苏A-0001 568 VFP,Page 25,注意:不能用中文标点符号 必须成对匹配 如果一种
5、定界符本身是字符串的内容,则需要用另一种定界符表示该字符串。例:book的中文意思是书。空串和空格串 不同 字母区分大小写:a和A不同,2.2常量与变量,1.常量(Constant)类型:逻辑型常量,表示逻辑判断结果。例如:.T.t.Y.y.表示“真”.F.f.N.n.表示“假”,Page 25,2.2常量与变量,注意:字母两边的英文句号是逻辑型常量的定界符,不可省略。,1.常量(Constant)类型:日期型常量和日期时间型常量严格日期格式:YYYY-MM-DD hh:mm:ss a|p 系统默认的格式传统日期格式为:mm/dd/yy hh:mm:ss a|p受SET DATE等命令影响,P
6、age 25,set strictdate to 0|1 0:不进行严格日期格式检查 1:进行严格日期格式检查,2.2常量与变量,2.变量(Variables)定义:在数据处理过程中其值允许随时改变的量内存变量:直接在程序中通过赋值语句创建 内存变量是内存中的一个存储单元;变量名是存储单元的标识;通过变量名读写存储单元中的数据。数组变量:存放多个数据的内存单元组字段变量:存放在数据表中的数据项,即字段名,是创建表结构时创建的,Page 27,2.2常量与变量,变量的三个要素:变量名、数据类型和变量值。,Page 27,变量的命名规则:(1)由字母、数字及下划线组成,中文Visual FoxPr
7、o可以使用汉字作变量名。(2)以字母或下划线开始,中文Visual FoxPro可以汉字开始。(3)自由表中字段名、索引标识名最多只能10个字符,其他命名长度为1128个字符,每个汉字占2个字符。(4)不能使用Visual FoxPro的保留字。,如:c_Var x_2 姓名 合法 2x aver#gz x-2 use 不合法,2.2常量与变量,内存变量的赋值内存变量名A11858A“计算机世界”B“12345”STORE TO STORE 1858 TO A1,B1,C1STORE“计算机世界”TO ASTORE“12345”TO B,Page 27,等号“”只能为一个变量赋值,Store在
8、一条命令中可以为多个变量赋同一个值,2.2常量与变量,内存变量的访问 如果字段和内存变量同名,则字段具有更高的优先权 内存变量的引用:m.或 m-xh=我是变量?xh&显示字段内容?m.xh&显示变量内容?m-xh&显示变量内容?xs.xh&显示字段内容,Page 27,2.2常量与变量,18,课堂总结,各种常用数据类型的英文字母表示、长度、适用范围。常量的表示方法变量的命名、内存变量的赋值、访问,预先编制好的程序代码,可供VFP程序在任何地方调用;接收一个或多个参数而返回单个值,它可嵌入到一个表达式中;格式:函数名(参数表)分类:系统函数和用户自定义函数,Page 31,2.3系统函数,函数
9、,Page 31,常用函数介绍,2.字符处理函数,1.数值处理函数,3.日期/时间处理函数,4.数据类型转换函数,5.其他常用函数,2.3系统函数,1.取绝对值函数ABS()和取符号函数SIGN(),格式:ABS()SIGN()示例:ABS(-20)、SIGN(10-30),1.数值处理函数,Page 31,2.3系统函数,2.最大值函数MAX()和最小值函数MIN(),格式:MAX(,)MIN(,),3.取整函数INT(),格式:INT()示例:?INT(5.96)?INT(-8.66)?INT(10.98-2.43),Page 31,计算数值表达式的值,并返回其整数部分,2.3系统函数,6
10、.随机数函数RAND(),格式:RAND()说明:返回一个01之间的随机数。示例:?RAND(),2.计算字符串长度函数LEN(),格式:LEN()示例:?LEN(ABCDF)?LEN(AB C D F)X=中国矿业大学?LEN(X),5812,Page 33,2.3系统函数,2.字符处理函数,4.取子字符串函数SUBSTR(),格式:SUBSTR(,)示例:?SUBSTR(社会经济学,5,4)?SUBSTR(社会经济学,5,2)?SUBSTR(社会经济学,5),经济经经济学,Page 33,2.3系统函数,3.日期和时间处理函数,1.系统当前日期函数DATE()系统当前日期时间函数DATET
11、IME()系统当前时间函数TIME(),格式:DATE()、DATETIME()、TIME(),2.星期中第几天函数DOW(),格式:DOW()?DOW(DATE()注:星期天为1,Page 34,2.3系统函数,3.数值型转换为字符型函数STR(),格式:STR(,)说明:如果缺省和,其输出结果取固定长度为10位,只取其整数部分;示例:?str(314.15)值:“314”?type(str(314.15)与?type(3)比较,返回长度,小数位数,Page 35,2.3系统函数,4.数据类型转换函数,5.字符型转换成日期型函数CTOD(),格式:CTOD()说明:必须是一个有效的日期格式。
12、示例:?CTOD(09/23/01),6.日期型转换成字符型函数DTOC(),格式:DTOC(/,1)说明:如果有1选项,则按照年月日的格式输出,无分隔符。示例:?DTOC(date()?DTOC(date(),1),Page 36,当前日期格式与传统的日期格式设置要一致,2.3系统函数,2.条件测试函数IIF(),格式:IIF(,)说明:为真(.T.),返回的值,否则返回的值。和可以是任意数据类型的表达式。示例:?IIF(DOW(DATE()=1 OR DOW(DATE()=7,今天休息,今天上班),Page 37,2.3系统函数,5.其他常用函数,4.判断值介于两个值之间的函数 BETWE
13、EN(),格式:BETWEEN(,)说明:判断是否在和的值之间,包含等于的情况;三个表达式为相同类型;返回逻辑型数据示例:?BETWEEN(3,10,15)?BETWEEN(10,10,15)?BETWEEN(d,a,e),.F.T.T.,Page 37,2.3系统函数,算数表达式字符表达式日期和时间表达式关系表达式逻辑表达式,Page 40,2.4表达式,表达式:通过运算符将常量、变量、函数、字段名等组合起来的可以进行运算的式子。,1.算术表达式 用算术运算符将数值型数据连接起来的式子叫做算术表达式。#DEFINE PI 3.1415926r=10s=PI*r*r?s,Page 40,2.4
14、表达式,算数运算符+,-,*,/,%,*,(),注意:按优先级高低排列,Page 40,2.4表达式,字符运算符+,-,$,Page 41,2.4表达式,2.字符表达式?教师+js.xm+的基本工资是:+STR(js.jbgz),日期和日期时间操作符+,-,Page 41,注意:不可以对两个日期型或日期时间型数据相加,2.4表达式,3.日期和时间表达式?date()-2000/12/04 天数,关系操作符:,=,#,!=,=,=,Page 42,注意:关系运算符两边的表达式类型要相同,2.4表达式,4.关系表达式,字符的排序序列:(1)PinYin(拼音)序列(默认):汉字按拼音序列排列;西文
15、字母由小到大是空格、小写字母、大写字母(2)Machine(机器)序列:按机内码的顺序排列(3)Stroke(笔画)序列:汉字按笔画多少排序;西文字符同拼音序列,Page 42,设置:工具/选项/数据SET COLLATE TO Machine,2.4表达式,逻辑操作符:NOT,!,AND,OR,Page 43,注意:按优先级高低排列,可使用()改变顺序,2.4表达式,5.逻辑表达式?(xim=计算机科学系 OR xim=信息管理系)AND not xb=女,5.逻辑表达式 注意:在运算过程中,当运算出某个中间结果后,若已经能够确定最终的结果,那么将终止本逻辑表达式中后面部分的运算 如:执行A
16、ND前遇到.F.则中止执行逻辑表达式(分析优先级P43)?119)?19),Page 43,2.4表达式,操作符总结,算数运算符+,-,*,/,%,*,(),字符运算符+,-,$,日期和日期时间操作符+,-,注意:不可以对两个日期型或日期时间型数据相加,关系操作符:,=,#,!=,=,=,逻辑操作符:NOT,!,AND,OR,40,本章总结,各种常用数据类型的英文字母表示、长度、适用范围。常量的表示变量的命名、内存变量的赋值、访问常用系统函数:RAND()、LEN()、SUBSTR()、LEFT()、RIGHT()、DATE()、DOW()、YEAR()、STR()、DTOC()、IIF()等表达式的运算:各种运算符的优先级,41,本章作业,P43 思考题 1、3、4,