数据及数据运算.ppt

上传人:牧羊曲112 文档编号:5985417 上传时间:2023-09-11 格式:PPT 页数:50 大小:299.50KB
返回 下载 相关 举报
数据及数据运算.ppt_第1页
第1页 / 共50页
数据及数据运算.ppt_第2页
第2页 / 共50页
数据及数据运算.ppt_第3页
第3页 / 共50页
数据及数据运算.ppt_第4页
第4页 / 共50页
数据及数据运算.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

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

1、1,第 3 章 数据及数据运算,3.2 运算符和表达式,3.3 常用函数,3.1 数据类型、常量和变量,2,1.字符型数据,2.数值型数据,4.日期型数据,5.日期时间型数据,7.通用型数据,6.备注型数据,3.逻辑型数据,3.1 数据类型、常量和变量,1、数据类型,3,1.字符型数据,字符型数据(Character)是指用各种文字字符表示的数据,包括26个英文大小写字母、10个数字、各种汉字、专用符号和空格等,最大长度可达254个字符。注意:如果将阿拉伯数字定义为字符型数据时,它不具备数学上的数值含义,不能参加数学运算,如电话号码,邮编等。,2.数值型数据,数值型数据是描述数量的数据类型,在

2、Visual FoxPro系统中被细分成以下几种类型。,数据类型,4,(1)数值型(Numeric):数据是由数字(09)、小数点和正负号组成,最大长度为20个字节。(2)整型(Integer):是不包含小数点部分的数值型数据,存储时以二进制的形式。(3)浮点型(Float):浮点型数据是数值型数据的一种,与数值型数据完全等价,只是在存储形式上采用浮点格式,而且数据的精度要比数值型数据高。(4)货币型(Money):该数据类型是数值型数据的一种特殊形式,在数据的第一个数字前加上一个货币符号“$”。货币型数据小数位的最大长度是4个字符,如果小数位超过4个字符,系统会按四舍五入原则自动截取。(5)

3、双精度型(Double):是更高精度的数值型数据。只用于数据表中的字段类型的定义,并采用固定长度浮点格式存储。,5,3.逻辑型数据,逻辑型数据(Logic)是用来进行各种逻辑判断的数据,只有两个值,即真(.T.)和假(.F.),长度固定为1位,占用1个字节。,日期型数据(Date)是用来专门表示日期的数据。存储格式为YYYYMMDD,共占用8个字节。,4.日期型数据,6,5.日期时间型数据,日期时间型数据(Date Time)是描述日期和时间的数据。其字符存储格式为YYYYMMDDHHMMSS,保存在两个4字节的整数中。,6.备注型数据,备注型数据(Memo)用于存放数据较长的字符型数据,固定

4、占用4个字节的内存空间,实际的数据存放在与数据表文件同名的.FPT文件中,并且所存放的内容只受磁盘空间的限制。,7,7.通用型数据,通用型数据(General)用于存储OLE(Object Linking and Embedding)对象,只能用于数据表中字段的定义。该字段包含了对OLE对象的引用,而OLE对象的具体内容可以是一个电子表格、文档、图片等。通用型数据长度固定为4位,实际数据长度仅受磁盘空间的限制。,8,3.1.2 常量,常量(Constant)即不变的值,常量类型有字符型、数值型、逻辑型、日期型、日期时间型。1数值型常量 由数字(09)、小数点、正负号组成。例如:-563.45-

5、123e+12(科学计数法,表示-1231012)。2字符型常量 是用定界符括起来的一串字符。定界符可以是双引号、单引号或中括号。例如:中国、abc、10+20,9,字符型常量在使用时必须注意:字符串中的字母大小写并不等价;不包含任何字符的字符串 称为空串,它的长度为0,与包含空格的字符串 不同;定界符必须成对匹配,当某种定界符本身就是字符串常量的一个组成字符时,就应该选用另一种定界符表示该字符串。如:abcdefg。,10,3逻辑型常量由表示逻辑判断结果为“真”或“假”的符号组成。“.”为逻辑常量的定界符,不能省略。以下是合法的逻辑型常量。逻辑真:.t.T.y.Y.逻辑假:.f.F.n.N.

6、(大小写均可),11,4.日期型常量 该常量必须用大括号括起来,日期常量常用的 输入格式为 yyyy/mm/dd或yyyy-mm-dd,输出格式为 mm/dd/yy。如:2009/08/16 其中,mm代表月,dd代表日,yy或yyyy代表两位或 四位数的年份。,12,5日期时间型常量日期时间常量常用的系统输入格式为:yyyy/mm/dd hh:mm:ss。例如:2008/10/20 10:01:01,13,日期常量的格式还可以通过下面几个SET命令来确定。(1)格式:SET MARK TO 日期分隔符功能:确定日期数据的分隔符号。(2)格式:SET CENTURY ON/OFF功能:确定日期

7、数据的年份字符数,其中ON表示年份是4个字符,OFF是2个字符。(3)格式:SET DATE TO American/Mdy/Ymd功能:确定日期数据的指定格式。其中,American指定的格式是mm/dd/yy,Mdy指定的格式是mm/dd/yy,Ymd指定的格式是:yy/mm/dd,14,变量:在使用过程中其值可以改变的量称为变量。变量包括字段变量、内存变量、系统变量。,1.内存变量 它是由用户或程序员定义在内存中的一个或一组存储单元,内存变量可简称为变量。由变量名进行标识,并通过变量名来读写。(1)内存变量的命名每个内存变量都需要有一个名称,内存变量的命名规则:由字母、汉字、数字、下画线

8、等符号组成。首个字符只能是字母、汉字或下划线,不能是数字。不能与系统的保留字相同。最长只能为254个字符。,3.1.3 变量,15,(2)内存变量的类型 内存变量可分为数值型、浮点型、字符型、货币型、逻辑型、日期型、日期时间型7种类型。内存变量的类型是根据所赋值的内容决定的。,16,(3)内存变量的赋值(a)STORE 命令:格式:STORE TO 功能:先计算的值,然后将该值赋给中每一个变量。(b)“=”命令:格式:=功能:先计算的值,然后将该值赋给左部的内存变量。示例:B=6 STORE B+3 TO C STORE 中国 TO A,B,C,17,格式:?(换行后显示)?(从当前位置开始显

9、示)功能:“?”命令的功能是先计算的值,然后将该值输出到显示器上。示例:B=6 A=3?A,B&3 6?A&3?B&6(不换行),(4)表达式表的输出,18,(4)内存变量的显示格式:LIST/DISPLAY MEMORY LIKE TO PRINT功能:显示当前已定义的内存变量,包括变量名、有效范围、类型、值。举例:LIST MEMORY&滚动显示所有变量DISPLAY MEMORY&分屏显示所有变量DISPLAY MEMORY LIKE a*&分屏显示所有以字 母a开头的变量LIST MEMORY TO PRINT&打印输出所有变量,19,(5)内存变量的清除(RELEASE 命令)使用R

10、ELEASE命令可以清除不再使用的内存变量或所有内存变量。格式:RELEASE ALL ALL LIKE|ALL EXCEPT 功能:从内存中清除指定的内存变量。示例:RELEASE A,B&清除内存变量A和B RELEASE ALL&清除所有的内存变量 RELEASE ALL LIKE A*&清除所有以A字母打头 的内存变量 RELEASE ALL EXCEPT B*&清除所有除开B字母打头 的其它内存变量,20,(6)内存变量的保存格式:SAVE TO ALL LIKE|ALL EXCEPT 功能:将当前定义的全部(或部分)内存变量保存在 指定的文件中。说明:内存变量文件的默认扩展名是.M

11、EM实例:SAVE TO m1 ALL LIKE a*&将所有以A字母打头 的内存变量保存在文件 名为m1的文件中,文件名,21,2.系统变量 为了方便程序员和用户,Visual FoxPro提供了很多事先定义好的变量,称为系统变量。系统变量是以下划线“_”开始,所以我们在定义内存变量时要避免以下划线开始,以免和系统变量冲突。例如:在命令窗口中可以输入以下命令:_SCREEN.CAPTION=“信息系统”&标题设置为“信息系统”,22,3.字段变量 字段变量是指数据表中已定义的任意一个字段。字段变量的类型有:数值型、字符型、货币型、浮点型、整型、双精度型、逻辑型、日期型、日期时间型、备注型和通

12、用型等。注意:若内存变量与数据表中的字段变量同名时,用户在引用内存变量时要在其名字前加一个m.或(m-),用来强调这一变量是内存变量。,23,3.2 运算符和表达式,运算符(1)运算符:对相同类型数据进行运算操作的符号。运算符的种类:算术运算符字符串运算符日期运算符关系运算符逻辑运算符,24,算术运算符及算术表达式,1)算术运算符:+、-、*、/、*或、%分别为:加、减、乘、除、乘方、%模运算(取余数)2)算术表达式:由算术运算符将数值型常量、变量、函数、圆括号对等连接起来的式子,其结果为数值型。3)优先顺序:括号、乘方、乘除、取模、加减 示例:70/(5+2)-5 7*8*2,25,字符串运

13、算符,(1)字符串运算符:+、-、$说明:+:两个字符串的完全连接(包括尾部空格);-:删除第一个字符串尾部的空格后,然后再将两个字符串连接起来。$:包含运算符:检测左边的字符串是否被包含在右边的字符串中。如果包含,返回逻辑.T.,否则返回逻辑.F.(2)字符表达式:由字符串运算符将字符型常量、变量、函数等连接起来的式子。示例:“国际”+“警察 abc-de“计算机”$“计算机系统”the$this“,26,日期运算符及日期表达式,(1)日期型运算符:加法(+)、减法(-)(2)日期表达式:由日期运算符将日期型常量、变量、函数等数据连接起来的式子,其返回结果为日期型或者数值型数据。(3)日期表

14、达式的几种形式:+-示例:2001/01/19+20 结果为:02/08/01 2009/03/18-2009/03/10结果为:8 2009/02/19-20结果为:01/30/09,27,关系运算符及关系表达式,(1)关系运算符:、=、(或#或!=)、=(2)关系表达式:由关系运算符连接起来的式子。(3)关系运算符可以用来比较“字符”、“数值”、“日期”三种类型的数据,但两边的数据类型必须一致才能进行比较。返回结果为逻辑值。(4)=:精确比较运算符:只有当两边的字符串完全相等时,才返回逻辑真值(.T.)。示例:AB、AB、5+6 8,that=that结果为.T.that=that结果为.

15、F.,28,逻辑运算符及逻辑表达式,(1)逻辑运算符:与(.AND.)、或(.OR.)、非(.NOT.)(2)逻辑表达式:由逻辑运算符把逻辑型常量、变量、数组、等连接起来的表达式,结果为逻辑值。(3)运算规则:逻辑与:当参加运算的所有值都为真时,运算结果为真,否则为假;逻辑或:当参加运算的所有值都为假时,运算结果为假,否则为真;逻辑非:运算结果为原来的相反值。示例:53 AND 46 53 OR 46 NOT 46,53 AND 46的值为.F.53 OR 46的值为.T.NOT 46的值为.T.,29,运算符的优先级,括号 算术运算 日期运算 关系运算 逻辑运算 算术运算:以幂、*/、%、+

16、-为序 逻辑运算:以.NOT.、.AND.、.OR.为序 实例:假设ABCD 值分别为:1,2,3,4 计算:A+BC-D.AND.C1,30,3.3 常用函数,根据每一个函数的功能,可将标准函数大致分为以下类型。(1)数值型函数(2)字符型函数(3)数据转换函数(4)日期和时间函数(5)变量处理函数(6)数据库函数(7)环境函数(8)数据共享函数(9)输入和输出函数(10)编程函数(11)动态链接库函数,31,1、字符处理函数,2、数值处理函数,3、日期时间函数,4、数据转换函数,5、数据表有关函数,函数分类,考试大纲规定的常用函数:,32,一、字符处理函数-1,1、字符串长度函数LEN()

17、格式:LEN()示例:?LEN(ABCDF)X=首都经贸大学?LEN(X)2、空格函数SPACE()格式:SPACE()示例:?北京+SPACE(3)+首都3、取子字符串函数SUBSTR()格式:SUBSTR(,)示例:?SUBSTR(“城市经济”,5,4)结果:经济,33,一、字符处理函数-2,4.字符串转换成小写字母函数LOWER()格式:LOWER()示例:?LOWER(ABDF)5.字符串转换成大写字母函数UPPER()格式:UPPER()示例:?UPPER(abde)6.删除字符串尾部空格函数TRIM()格式:TRIM()示例:A=I am a teacher.?TRIM(A),34

18、,一、字符处理函数-3,7.删除字符串左边空格函数LTRIM()格式:LTRIM()示例:A=I am a teacher.?LTRIM(A)8.删除字符串右边空格函数RTRIM()格式:RTRIM()9.删除字符串最左边和最右边的所有空格函数(不含中间)格式:ALLTRIM()示例:A=I am a teacher.?ALLTRIM(A)?Len(ALLTRIM(A)结果:15,35,一、字符处理函数-4,10.取字符串左边部分字符函数LEFT()格式:LEFT(,)示例:?LEFT(there”,3)11.取字符串右边部分字符函数RIGHT()格式:RIGHT(,)示例:?RIGHT(wh

19、at,2)12.子字符串位置测试函数AT()格式:AT(,)示例:?AT(IS,THIS IS A BOOK)3?AT(IS,THIS IS A BOOK,2)6?AT(IS,THIS IS A BOOK,3)0?AT(D,BOOK)0,若缺省n,默认1若未找到,返回0,测试子串在主串中第n次出现的起始位置),36,一、字符处理函数-5,13.测试表达式类型函数TYPE()格式:TYPE()说明:函数返回值为字符型 字符含义如下:C 字符型 M 备注型 N 数值型 O 对象型 D 日期型 G 通用型 T 日期时间型 Y 货币型 L 逻辑型 U 未定义型示例:A=567?TYPE(“A”)结果为

20、:N,37,1.取整函数INT()格式:INT()示例:?INT(5.96)5?INT(-8.66)-8?INT(10.98-2.43)82.四舍五入函数ROUND()格式:ROUND(,)示例:?ROUND(345.6799,3)345.680?ROUND(345.6799,0)346?ROUND(345.6799,-2)300,只舍不入,二、数值处理函数-1,38,二、数值处理函数-2,3.取绝对值函数ABS()格式:ABS()示例:?ABS(-20)4.最大值函数MAX()格式:MAX(,)示例:?MAX(10,20)?MAX(-10,-20)5.最小值函数MIN()格式:Min(,)示

21、例:?MIN(10,20)?MIN(-10,-20),39,二、数值处理函数-3,6.求平方根函数SQRT()格式:SQRT()示例:?SQRT(16)7.求自然对数函数LOG()格式:LOG()示例:?LOG(15.36)8.幂函数EXP()-返回 ex 的值格式:EXP()示例:?EXP(3)即 e3,40,二、数值处理函数-4,9.求余数函数MOD()格式:MOD(,)说明:函数返回值的符号与的符号相同。示例:?MOD(10,3)1?MOD(10,-3)-2?MOD(15,-4)-1?MOD(-15,-4)-3 10.IIF函数格式:IIF(,)示例:X=80 Y=60?IIF(XY,5

22、0+X,100+Y)结果为:130,运算规则:(同%号)结果的符号与除数同;2数同号时,结果的值等于余数本身,2数异号时,取余数的补数,41,三、日期和时间处理函数,1.系统当前日期函数DATE()格式:DATE()2.系统当前时间函数TIME()格式:TIME()3.日函数DAY()格式:DAY(/)4.月份函数MONTH()格式:MONTH(/)5.年份函数YEAR()格式:YEAR(/),42,四、数据转换函数-1,1.字符转换成ASCII码函数ASC()格式:ASC()功能:给出中首字符的ASCII码的十进制数。示例:?ASC(“ABCD”)结果65,(若有多个字符,只转换 首字符)2

23、.ASCII码值转换成字符函数CHR()格式:CHR()功能:将的值作为ASCII码的十进制数,给出 对应的字符。示例:?CHR(65)结果A,43,四、数据转换函数-2,3.数值型转换为字符型函数STR()格式:STR(,)示例:?str(95643.5136)?str(95643.5136,8,2)?str(95643.5136,8)?str(95643.5136,3)说明:1)给出转换后的字符串长度,(包括小数点、负号)。如果缺省和,其输出结果将取固定长度为10位,且只取其整数部分;2)给出小数位数,决定转换后小数点右面的小数位数,默认位数为0位;3)如果的值大于给出值的数字位数时,在返

24、回的字符串左边添加空格;4)如果的值小于小数点左边的数字位数,将返回一串星号,表示数值溢出。,小数位,长度,44,四、数据转换函数-3,4.字符型转换成数值型函数VAL()格式:VAL()说明:1)的值必须是数字形式的字符串,它只能含有数字、正负号和小数点;2)转换时,如果遇到非上述字符则停止。如果字符型表达式的第一个字符即非上述字符,则转换停止;3)转换后的小数位数,隐含为2位,可用SET DECIMAL TO N去改变。示例:?VAL(“8769.3421”)结果:8769.34?VAL(8769AB21)结果:8769.00?VAL(“AB8769.3421”)结果:0.00,45,四、

25、数据转换函数-4,5.字符型转换成日期型函数CTOD()格式:CTOD()说明:必须是一个有效的日期格式。示例:?CTOD(09/23/01)6.日期型转换成字符型函数DTOC()格式:DTOC(/,1)说明:如果有,1选项,则按照年月日的格式输出。示例:X=CTOD(09/10/99)?DTOC(X)?DTOC(X,1),46,五、与数据表有关的函数-1,1.表文件开始测试函数格式:BOF()说明:检测当前或指定工作区中表的记录指针是否位于第一 条 记录之前,如果是,返回真值(.T.),否则返回假值(.F.)。示例:USE 学生表?BOF()SKIP-1?BOF(),47,五、与数据表有关的

26、函数-2,2.表文件结束测试函数格式:EOF()说明:检测当前或指定工作区中表的记录指针是否位于最后 一条记录之后,如果是,返回真值(.T.),否则返回假值(.F.)。示例:USE 学生表?EOF()GO BOTTOM?EOF()SKIP 1?EOF(),48,记录指针与表文件的关系,打开文件时:记录号1,BOF(),.F.Skip 1,BOF(),.T.记录号1Go bott:记录号最大数(10)EOF(),.F.Skip 1,EOF(),.T.记录号11List:EOF(),.T.记录号11,指针,Skip 1,BOF().t.,记录号1,记录号1,(或List后),EOF(),.t.记录号11,Go bott 记录号10,Skip 1,49,3.测试记录号函数格式:RECNO()功能:给出当前或指定工作区中当前记录的记录号。函数返回值为数值型。示例:USE 学生表?RECNO()GOTO 4?RECNO()4.测试数据表的记录总数函数格式:RECCOUNT()功能:用于计算记录总数,五、与数据表有关的函数-3,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号