1、第第2章章 Visual FoxPro语言基础语言基础上篇上篇 语言基础语言基础l数据类型和数据存储方式数据类型和数据存储方式l常量和变量常量和变量 l运算符和表达式运算符和表达式l函数函数本章要求:本章要求:l理解数据类型的定义及数据存储方式理解数据类型的定义及数据存储方式l掌握各种类型常量的书写格式、内存变量的使用掌握各种类型常量的书写格式、内存变量的使用l掌握运算符的用法及运算符的优先级掌握运算符的用法及运算符的优先级l掌握字符函数、数值计算函数、日期时间函数、数据掌握字符函数、数值计算函数、日期时间函数、数据类型转换函数和测试函数的使用类型转换函数和测试函数的使用主要内容:主要内容:2
2、.1 数据类型数据类型 l数据是描述事物的符号记录,是对客观事物及其属性的数据是描述事物的符号记录,是对客观事物及其属性的描述。描述。l数据包括两个方面:数据包括两个方面:数据内容与数据形式数据内容与数据形式。数据内容就是。数据内容就是数据的值,数据形式就是数据的存储形式和操作使用方式,数据的值,数据形式就是数据的存储形式和操作使用方式,也称为数据类型。也称为数据类型。lVFP系统为方便用户建立和操作数据库,将系统中所有操系统为方便用户建立和操作数据库,将系统中所有操作处理的数据,分为几种不同数据类型:作处理的数据,分为几种不同数据类型:字符型、数值型、字符型、数值型、逻辑型、日期型、日期时间
3、型、备注型、通用型逻辑型、日期型、日期时间型、备注型、通用型、二进制字、二进制字符型和二进制备注型。符型和二进制备注型。1.字符型字符型(Character)l字符型数据是描述不具有计算能力的文字数据类型,是字符型数据是描述不具有计算能力的文字数据类型,是常用的数据类型之一。常用的数据类型之一。l字符型数据用字母字符型数据用字母C表示表示。由汉字和由汉字和ASCII字符集中可打字符集中可打印字符印字符(英文字符、数字字符、空格及其他专用字符英文字符、数字字符、空格及其他专用字符)组成组成,最大长度是最大长度是254个字符。个字符。说明:说明:l字母、数字、空格及其他专用字符,占字母、数字、空格
4、及其他专用字符,占1个字节存储空间。个字节存储空间。l一个汉字相当于两个字符,占一个汉字相当于两个字符,占2个字节存储空间。个字节存储空间。l数值型数据是表示数量、可以进行数值运算的数据类型。数值型数据是表示数量、可以进行数值运算的数据类型。数值型数据由数值型数据由数字、小数点、正负号和字母数字、小数点、正负号和字母E(乘幂乘幂)组成。组成。l在在Visual FoxPro系统中,按存储、表示形式与取值范围不系统中,按存储、表示形式与取值范围不同,数值型数据又分为五种不同类型。同,数值型数据又分为五种不同类型。数值型数值型(Numeric)数值型数据由数字、小数点、正负号和字母数值型数据由数字
5、、小数点、正负号和字母E组成,用字母组成,用字母N表示。包括正负号、小数点和字母表示。包括正负号、小数点和字母E在内在内,其长度其长度(数据位数数据位数)最大最大20个字节。个字节。例如:例如:23,-103.45,1.3E-5(即即1.310-5)等;等;2.数值型数值型 浮点型浮点型(Float)l浮点型数据是数值型数据的一种,用字母浮点型数据是数值型数据的一种,用字母F表示。表示。l与数值型数据完全等价,只是在存储形式上采用浮点格与数值型数据完全等价,只是在存储形式上采用浮点格式,主要是为了与其他软件相兼容。式,主要是为了与其他软件相兼容。l最大宽度最大宽度20个字节。个字节。双精度型双
6、精度型(Double)l是具有更高精度的一种数值型数据,用字母是具有更高精度的一种数值型数据,用字母B表示。表示。l采用固定长度浮点格式存储,占用采用固定长度浮点格式存储,占用8个字节。个字节。2.数值型数值型 整型整型(Integer)l 整型数据是不包含小数部分的数值型数据,用字母整型数据是不包含小数部分的数值型数据,用字母I表示。表示。l 占用占用4个字节内存空间,以二进制形式存储。个字节内存空间,以二进制形式存储。货币型货币型(Currency)l 货币型数据是为存储美元金额而使用的一种数据类型。货币型数据是为存储美元金额而使用的一种数据类型。l 货币型数据用字母货币型数据用字母Y表示
7、。表示。l 默认保留默认保留4位小数,占用位小数,占用8个字节存储空间。个字节存储空间。2.数值型数值型l 日期型是表示日期的数据,用字母日期型是表示日期的数据,用字母D表示。表示。l 日期的默认格式:日期的默认格式:mm/dd/yy,其中,其中mm表示月份,表示月份,dd表示日期,表示日期,yy表示年度,固定长度表示年度,固定长度8个字节。个字节。例如:例如:02/28/12、02-28-12、02.28.12 表示表示2012年年2月月28日这一日期数据。日这一日期数据。3.日期型日期型(Date)l日期时间型数据是表示日期和时间的数据日期时间型数据是表示日期和时间的数据,用字母用字母T表
8、示。表示。l日期时间的默认格式:日期时间的默认格式:mm/dd/yy hh:mm:ss am|pm,其中其中mm、dd、yy的意义与日期型相同,的意义与日期型相同,hh、mm、ss分分别表示小时、分钟、秒数,别表示小时、分钟、秒数,am和和pm分别表示上午和下午。分别表示上午和下午。l日期时间型数据也是采用固定长度日期时间型数据也是采用固定长度8个字节。个字节。例如:例如:05/12/10 10:30:30 AM 4.日期时间型日期时间型(DateTime)l逻辑型数据是描述客观事物真假的数据类型,用字母逻辑型数据是描述客观事物真假的数据类型,用字母L表示。表示。l逻辑型数据只有真逻辑型数据只
9、有真(.T.或或.Y.)和假和假(.F.或或.N.)两种,固定两种,固定长度长度1个字节。个字节。l为其他数据类型相互区别,一般在表示逻辑值的字母为其他数据类型相互区别,一般在表示逻辑值的字母T、Y、F、N的前后加圆点符的前后加圆点符“.”。例如:例如:?89 结果为结果为.F.。5.逻辑型逻辑型(Logic)l备注型数据是表示、存放较多字符的数据类型。可以把备注型数据是表示、存放较多字符的数据类型。可以把它看成是字符型数据的特殊形式,用字母它看成是字符型数据的特殊形式,用字母M表示。表示。l备注型数据字段长度固定为备注型数据字段长度固定为4个字节,实际长度仅受限于个字节,实际长度仅受限于磁盘
10、空间。数据存放在与表文件同名的磁盘空间。数据存放在与表文件同名的.FPT备注文件中。备注文件中。6.备注型备注型(Memo)l 通用型数据是存储通用型数据是存储OLE(对象链接嵌入对象链接嵌入)对象的数据类型,对象的数据类型,用字母用字母G表示。通用型数据中的表示。通用型数据中的OLE对象可以是电子表格、对象可以是电子表格、文档、图形、图片和声音等多媒体数据。文档、图形、图片和声音等多媒体数据。l 通用型数据字段长度固定为通用型数据字段长度固定为4个字节个字节,实际数据长度仅受,实际数据长度仅受限于磁盘空间。数据也存放在与表文件同名的备注文件中,限于磁盘空间。数据也存放在与表文件同名的备注文件
11、中,扩展名为扩展名为.FPT。7.通用型通用型(General)表表2.1 学生表学生表例如:建立学生表的表结构。例如:建立学生表的表结构。学号学号姓名姓名性别性别 出生日期出生日期专业专业电话电话学籍信息学籍信息照片照片1110070102 刘刘 悦悦.T.08/13/91土木工程土木工程81820143menoGen1110070103 霍国安霍国安.T.05/03/91土木工程土木工程81820123menogen1110070104 刘思哲刘思哲.T.08/04/91土木工程土木工程81820167menogen1210070101 周周 炜炜.T.08/11/91测绘工程测绘工程81
12、820578menogen1210070103 任任 楠楠.F.11/12/91测绘工程测绘工程81820798menogen2310070137 贾贾 超超.T.04/25/93软件工程软件工程81820467menoGen2320080119 刘刘 波波.F.08/25/91信息安全信息安全81820673menogen2320080122 刘宇航刘宇航.T.02/09/93信息安全信息安全81820165menogen说明:说明:l 表中的一行即为一条表中的一行即为一条记录记录。l 表中一列即为一个表中一列即为一个字段字段,每个字段都有字段名,同一字段可,每个字段都有字段名,同一字段可以
13、有多个不同的字段值。以有多个不同的字段值。字段序号字段序号字段名字段名类型类型字段宽度字段宽度1学号学号字符型字符型 C102姓名姓名字符型字符型 C63性别性别逻辑型逻辑型 L14出生日期出生日期日期型日期型 D85专业专业字符型字符型 C106电话电话字符型字符型 C87学籍信息学籍信息备注型备注型 M48照片照片通用型通用型 G4表表2.2 学生表结构学生表结构2.2 常量与变量常量与变量 l常量:在命令或程序中可直接引用、具有具体值的数据常量:在命令或程序中可直接引用、具有具体值的数据项,其特征是在整个操作过程中其值和表现形式保持不变。项,其特征是在整个操作过程中其值和表现形式保持不变
14、。lVFP系统按常量取值的数据类型不同,分为系统按常量取值的数据类型不同,分为6种类型:种类型:数值型常量数值型常量 字符型常量字符型常量 逻辑型常量逻辑型常量 货币型常量货币型常量 日期型常量日期型常量 日期时间型常量日期时间型常量1.数值型常量数值型常量l 由数字、小数点、由数字、小数点、E和正负号组成,表示整数或实数值。和正负号组成,表示整数或实数值。例如:例如:100,-21,15.31,-210.512.货币型常量货币型常量l 货币型常量以货币型常量以$符号开头,并四舍五入到小数符号开头,并四舍五入到小数4位。位。例如:货币型常量例如:货币型常量?$100.123453.逻辑型常量逻
15、辑型常量l 表示逻辑判断结果表示逻辑判断结果“真真”或或“假假”的逻辑值。逻辑常量只的逻辑值。逻辑常量只有真和假两种值,分别用有真和假两种值,分别用(.T.或或.Y.)和和(.F.或或.N.)表示真和假。表示真和假。l 一般应在逻辑常量的字母左右加一般应在逻辑常量的字母左右加“.”以示区别。以示区别。l由任意由任意ASCII字符和汉字字符组成的字符型数据。字符字符和汉字字符组成的字符型数据。字符型常量又称为型常量又称为字符串字符串。lVFP系统要求将字符串中所有字符,用系统要求将字符串中所有字符,用双引号、单引号双引号、单引号或方括号或方括号作为定界符对括起来。作为定界符对括起来。例如:例如:
16、“12345”,Visual FoxPro 6.0关系数据库系统关系数据库系统和和 中华人民共和国中华人民共和国都是字符串。都是字符串。注意:注意:如果字符串本身就包含一种定界符,则定界符要选择如果字符串本身就包含一种定界符,则定界符要选择另外一种。如:另外一种。如:“Im a student.”4.字符型常量字符型常量l日期型常量日期型常量 在在Visual FoxPro中,默认使用的是中,默认使用的是严格日期形式严格日期形式。格式:格式:yyyy-mm-dd或或yyyy/mm/dd。例如:例如:2012-09-11l日期时间型常量日期时间型常量 默认格式:默认格式:yyyy-mm-dd h
17、h:mm:ssam|pm 例如:例如:2012-09-11 10:30:30 am5.日期型和日期时间型常量日期型和日期时间型常量说明:说明:日期值和日期时间值的输入格式与输出格式并不完全相日期值和日期时间值的输入格式与输出格式并不完全相同,输出格式与系统环境设置有关,可以根据需要进行同,输出格式与系统环境设置有关,可以根据需要进行相应地设置。相应地设置。SET STRICTDATE TO 1|0&设置或取消严格日期设置或取消严格日期 SET CENTURY ON|OFF&设置或取消设置或取消4位数字年份位数字年份 SET DATE TO AMERICAN&设置美国日期格式设置美国日期格式 S
18、ET DATE TO ANSI&设置中国日期格式设置中国日期格式 l变量:在命令操作和程序执行过程中其值允许变化的量。变量:在命令操作和程序执行过程中其值允许变化的量。l变量的分类:变量的分类:字段变量、内存变量和系统内存变量字段变量、内存变量和系统内存变量。l变量的命名规则:变量的命名规则:使用字母、下划线和数字命名,建议不采用汉字命名;使用字母、下划线和数字命名,建议不采用汉字命名;命名以字母或下划线开头,除字段名最多不超过命名以字母或下划线开头,除字段名最多不超过10个字个字 符外,其他命名可使用符外,其他命名可使用1128个字符;个字符;避免使用避免使用Visual FoxPro系统的
19、保留字,例如:系统的保留字,例如:LIST、DISPLAY、USE、CREATE等;等;2.2.2 变量变量 内存变量的概念内存变量的概念 由用户在内存中定义的、单个数据元素的临时性变量。由用户在内存中定义的、单个数据元素的临时性变量。内存变量的数据类型内存变量的数据类型 数值型、字符型、逻辑型、日期型和日期时间型数值型、字符型、逻辑型、日期型和日期时间型 内存变量的赋值内存变量的赋值 格式格式1:STORE TO 功能:计算功能:计算的值并赋值给各个内存变量。的值并赋值给各个内存变量。格式格式2:=功能:计算功能:计算的值并赋值给指定内存变量。的值并赋值给指定内存变量。1.内存变量内存变量例
20、如例如:m1=12.34 m2=abcd STORE abcd TO m2 STORE m1 TO a,b,c说明:说明:l STORE语句可以同时给多个变量赋值,但语句可以同时给多个变量赋值,但“=”赋值语句赋值语句只能给一个变量赋值。只能给一个变量赋值。l 内存变量在赋值时定义了它的值和类型,其类型与所赋内存变量在赋值时定义了它的值和类型,其类型与所赋的值的类型相同。的值的类型相同。内存变量的赋值内存变量的赋值格式:格式:?|?功能:显示输出项目表中的各输出项。功能:显示输出项目表中的各输出项。说明:说明:l单问号单问号?表示在下一行输出。表示在下一行输出。l双问号双问号?表示在当前行直接
21、输出。表示在当前行直接输出。l输出项可以是常量、变量、表达式或者函数。输出项可以是常量、变量、表达式或者函数。例如:例如:?m2,123,2+8?a,b?date(),time()内存变量的输出内存变量的输出1.变量的显示变量的显示格式:格式:LIST|DISPLAY MEMORY LIKE 功能:显示当前已定义的内存变量名、作用范围、类型和值。功能:显示当前已定义的内存变量名、作用范围、类型和值。2.变量的清除变量的清除格式:格式:RELEASE ALL LIKE|EXCEPT 功能:从内存清除指定的内存变量。功能:从内存清除指定的内存变量。例如:例如:LIST MEMORY LIKE m?
22、RELEASE m1,m2 RELEASE ALL EXCEPT?b*&清除除第清除除第2个字符为个字符为b以外的所有内存变量以外的所有内存变量 内存变量的显示与清除内存变量的显示与清除l表由若干记录构成,每个记录都包含若干个数量相同的字表由若干记录构成,每个记录都包含若干个数量相同的字段,同一字段在不同记录中分别对应不同的字段值。因此字段,同一字段在不同记录中分别对应不同的字段值。因此字段也是变量。段也是变量。l字段变量是定义在表中的变量,随表的存取而存取,因而字段变量是定义在表中的变量,随表的存取而存取,因而是是永久性变量永久性变量。l字段名就是变量名,字段值就是变量值,字段值的数据类字段
23、名就是变量名,字段值就是变量值,字段值的数据类型就是变量的数据类型。型就是变量的数据类型。例如:例如:USE 学生表学生表?学号学号,姓名姓名,出生日期出生日期,专业专业2.字段变量字段变量l系统变量系统变量是是 VFP系统特有的内存变量,由系统特有的内存变量,由VFP系统定义。系统定义。l系统变量其变量名均以下划线系统变量其变量名均以下划线“_”开始。开始。l系统变量的功能:用于控制外部设备、屏幕输出格式或系统变量的功能:用于控制外部设备、屏幕输出格式或处理有关计算器、日历、剪贴板等方面的信息。处理有关计算器、日历、剪贴板等方面的信息。例如:例如:_DiaryDate:存储系统当前日期;存储
24、系统当前日期;_Screen.FontSize:设置屏幕输出格式;设置屏幕输出格式;3.系统内存变量系统内存变量2.3 运算符和表达式运算符和表达式1.运算符运算符 l运算符:对数据对象进行加工处理的符号。运算符:对数据对象进行加工处理的符号。l运算符的分类:运算符的分类:算术、字符、逻辑、关系和日期时间运算符算术、字符、逻辑、关系和日期时间运算符l运算符的优先级运算符的优先级 圆括号圆括号算术和日期运算算术和日期运算字符串运算字符串运算关系运算关系运算逻辑运算逻辑运算2.表达式表达式l表达式:由常量、变量、函数与运算符组成的运算式。表达式:由常量、变量、函数与运算符组成的运算式。l表达式的分
25、类表达式的分类 算术表达式算术表达式 字符表达式字符表达式 关系表达式关系表达式 逻辑表达式逻辑表达式 日期时间表达式日期时间表达式算术表达式:由算术运算符将数值型数据连接起来组成的算术表达式:由算术运算符将数值型数据连接起来组成的运算式,运算式,其运算对象和运算结果均为数值型数据。其运算对象和运算结果均为数值型数据。计算表达式的值:计算表达式的值:2*32+2*8/4+322.3.1 算术运算符与表达式算术运算符与表达式运算符运算符功功 能能表达式举例表达式举例运算结果运算结果 优先级优先级()()圆括号圆括号(2-5)*(3+2)-15 最高最高 最低最低 -取相反数取相反数-(3-8)5
26、 *、乘乘 幂幂2*5、3232、9 *、/乘、除乘、除2*10、25/520、5%取取 余余15%6、15%-63、-3 +、-加、减加、减36+19、29-4755、-18字符表达式:由字符运算符将字符型数据连接起来进行运字符表达式:由字符运算符将字符型数据连接起来进行运算的式子。运算对象是算的式子。运算对象是字符型数据字符型数据,结果是,结果是字符常量字符常量。运算符运算符功功 能能举举 例例运算结果运算结果优先级优先级+串串1+串串2:两串顺序相连接两串顺序相连接 12+56 1256 1-串串1-串串2:串串1尾空格移到串尾空格移到串2尾后再顺序相连接尾后再顺序相连接 12-56 1
27、256 12.3.2 字符运算符与表达式字符运算符与表达式l日期表达式:由日期运算符将一个日期型或日期时间型数日期表达式:由日期运算符将一个日期型或日期时间型数 据与一个数值型数据连接而成的运算式。据与一个数值型数据连接而成的运算式。l日期表达式运算结果为日期表达式运算结果为日期型、日期时间型或整型数据日期型、日期时间型或整型数据。运算符运算符功功 能能举举 例例+D+N:表示增加的天数:表示增加的天数2013-09-12+10T+N:表示增加的秒数:表示增加的秒数2013-09-12 10:30:30+12-D-N:表示减少的天数:表示减少的天数2013-09-12-10T-N:表示减少的秒
28、数:表示减少的秒数2013-09-12 10:30:30-12D-D:表示相差的天数:表示相差的天数2013-10-01-2013-09-122.3.3 日期运算符及表达式日期运算符及表达式关系表达式:由关系运算符连接两个关系表达式:由关系运算符连接两个同类同类数据对象进行关数据对象进行关系比较的运算式,其结果为系比较的运算式,其结果为逻辑值逻辑值。2.3.4 关系运算符及表达式关系运算符及表达式运算符运算符功能功能表达式举例表达式举例结果结果小于小于 汽车汽车 大于大于A 1.T.=等于等于2+4=3*5.F.、#、!=不等于不等于5 -10.T.=小于或等于小于或等于abc=大于或等于大于
29、或等于10-10-02=10/01/02.T.=恒等恒等abc=abcabc.F.$包含包含 123$a1234.T.123$12a3.F.日期或日期时间数据以日期或时间的先后进行比较。日期或日期时间数据以日期或时间的先后进行比较。单个字符是以其单个字符是以其ASCII码的大小作为字符的码的大小作为字符的“大小大小”。两个字符串进行比较是从左到右逐个字符进行比较。两个字符串进行比较是从左到右逐个字符进行比较。汉字比较是以字母的顺序进行比较汉字比较是以字母的顺序进行比较。数值型数据按数值大小进行比较。数值型数据按数值大小进行比较。说明:说明:l逻辑表达式:由逻辑运算符将逻辑型数据连接而成的式子。
30、逻辑表达式:由逻辑运算符将逻辑型数据连接而成的式子。l逻辑表达式的运算对象与运算结果均为逻辑表达式的运算对象与运算结果均为逻辑型数据逻辑型数据。l优先级:优先级:逻辑非逻辑非 逻辑与逻辑与 逻辑或逻辑或ABA AND BA OR BNOT A.T.T.T.T.F.T.F.F.T.F.F.T.F.T.T.F.F.F.F.T.2.3.5 逻辑运算符与表达式逻辑运算符与表达式例如:例如:?122 AND 中华中华 中国中国 OR.T.F.2.4 Visual FoxPro的函数的函数l函数:具有特定功能的程序段。函数:具有特定功能的程序段。l函数三要素:函数三要素:函数名、参数、函数值函数名、参数、
31、函数值l函数的类型:数值型函数、字符型函数、逻辑型函数、日函数的类型:数值型函数、字符型函数、逻辑型函数、日期型函数、数据转换函数。期型函数、数据转换函数。2.4.1 数值函数数值函数1.绝对值函数绝对值函数ABS()()格式:格式:ABS()?ABS(-12.34)功能:计算数值表达式的值,并返回值的绝对值。功能:计算数值表达式的值,并返回值的绝对值。2.指数函数指数函数EXP()()格式:格式:EXP()?EXP(2)功能:求功能:求e的的次方的值。次方的值。3.取整函数取整函数INT()()格式:格式:INT()?INT(14.73)功能:计算数值表达式的值,返回该值的整数部分。功能:计
32、算数值表达式的值,返回该值的整数部分。4.平方根函数平方根函数SQRT()()格式:格式:SQRT()?SQRT(9)功能:求非负数值表达式的平方根。功能:求非负数值表达式的平方根。5.最大值函数最大值函数MAX()()和最小值函数和最小值函数MIN()()格式:格式:MAX(,)MIN(,)功能:返回两个功能:返回两个中的较大值和较小值。中的较大值和较小值。例如:例如:?MAX(8,6),MIN(3,4*8,-6)6.求余数函数求余数函数MOD()()格式:格式:MOD(,)功能:返回功能:返回除以除以的余数。的余数。余数的符号与余数的符号与的符号相同。的符号相同。例如:例如:?MOD(-3
33、6,5),MOD(36,-5)7.四舍五入函数四舍五入函数ROUND()()格式:格式:ROUND(,)功能:返回功能:返回四舍五入的值,四舍五入的值,表示保留的小数位数。表示保留的小数位数。例如:例如:?ROUND(12.345,2)2.4.1 数值函数数值函数1.子串位置函数子串位置函数AT()()格式:格式:AT(,)功能:返回功能:返回在在中第中第次次出现的位置。若出现的位置。若不包含不包含返回值为零。返回值为零。例如:例如:?AT(bc,abcd),AT(bc,abcdbc,2),AT(bc,abd,1)2.取左子串函数取左子串函数LEFT()()格式:格式:LEFT(,)功能:返回
34、从功能:返回从中左起第一个字符开始中左起第一个字符开始,截取截取个字符的子串。个字符的子串。例如:例如:?LEFT(数据库系统原理数据库系统原理,6),LEFT(DBMS,2)2.4.2 字符函数字符函数3.取右子串函数取右子串函数RIGHT()()格式:格式:RIGHT(,)功能:从功能:从中右边第一个字符开始,截取中右边第一个字符开始,截取个字符的子串。个字符的子串。例如:例如:?RIGHT(数据库系统原理数据库系统原理,4),),RIGHT(DBMS,2)4.取子串函数取子串函数SUBSTR()()格式:格式:SUBSTR(,数值表达式数值表达式2)功能:从功能:从中第中第个字符开始,截
35、取个字符开始,截取个字符的子串。个字符的子串。例如:例如:?SUBSTR(数据库系统原理数据库系统原理,7,4)2.4.2 字符函数字符函数 5.删除字符串前导空格函数删除字符串前导空格函数LTRIM()()格式:格式:LTRIM()功能:删除功能:删除的前导空格。的前导空格。6.删除字符串尾部空格函数删除字符串尾部空格函数RTRIM()()格式:格式:RTRIM(字符表达式字符表达式)功能:删除功能:删除中尾部空格。中尾部空格。7.删除字符串前导和尾部空格函数删除字符串前导和尾部空格函数ALLTRIM()()格式:格式:ALLTRIM()功能:删除字符表达式中前导和尾部空格。功能:删除字符表
36、达式中前导和尾部空格。例如:例如:?LTRIM(abcd),),RTRIM(abcd )?ALLTRIM(abcd )2.4.2 字符函数字符函数8.字符串长度函数字符串长度函数LEN()()格式:格式:LEN(功能:返回字符串的长度,函数返回值为功能:返回字符串的长度,函数返回值为N型。型。例如:例如:?LEN(数据库数据库),LEN(DataBase)9.空格函数空格函数SPACE()()格式:格式:SPACE()功能:返回数值表达式个空格。功能:返回数值表达式个空格。?SPACE(5),输出输出5个空格个空格 10.大小写转换函数大小写转换函数LOWER()()和和UPPER()()格式
37、:格式:LOWER|UPPER()功能:将大小写字母相互转换。功能:将大小写字母相互转换。例如:例如:?UPPER(aBCd),LOWER(aBCd)2.4.2 字符函数字符函数1.系统日期型函数系统日期型函数DATE()()格式:格式:DATE()()功能:返回系统当前日期。功能:返回系统当前日期。?DATE()()2.系统时间函数系统时间函数TIME()格式:格式:TIME()()功能:返回系统当前时间。功能:返回系统当前时间。?TIME()()3.年份函数年份函数YEAR()()格式:格式:YEAR()功能:函数返回功能:函数返回中年份值,函数值为中年份值,函数值为N型。型。例如:例如:
38、?YEAR(DATE()()2.4.3 日期型函数日期型函数1.字符数值型转换函数字符数值型转换函数VAL()()格式:格式:VAL()功能:从功能:从最左边字符开始,在忽略前置空格最左边字符开始,在忽略前置空格的情形下由左向右将阿拉伯数字字符转换成数值,直到遇的情形下由左向右将阿拉伯数字字符转换成数值,直到遇到一个非数字字符为止,如果到一个非数字字符为止,如果的第一个字符的第一个字符不是阿拉伯数字,则函数值为零。不是阿拉伯数字,则函数值为零。例如:例如:?VAL(a12),VAL(123)?VAL(123a),),VAL(12a3)2.4.4 数据转换函数数据转换函数2.数值字符型转换函数数
39、值字符型转换函数STR()()格式:格式:STR(,)功能:将功能:将的数值转换成长度为的数值转换成长度为 位,具有位,具有位小数的字符串。位小数的字符串。例如:例如:?STR(0.258,4,2),STR(0.258,3,1)3.字符日期型函数字符日期型函数CTOD()格式:格式:CTOD()功能:将功能:将转换为日期。转换为日期。?CTOD(03/14/12)4.日期字符型函数日期字符型函数DTOC()格式:格式:DTOC()?DTOC(2012-03-14)功能:将功能:将转换为字符串。转换为字符串。2.4.4 数据转换函数数据转换函数1.表结束标志测试函数表结束标志测试函数EOF()(
40、)格式:格式:EOF()功能:测试记录指针是否移到表结束处。如果记录指针指向表功能:测试记录指针是否移到表结束处。如果记录指针指向表中尾记录之后,函数返回值为中尾记录之后,函数返回值为.T.,否则为,否则为.F.。2.表起始标志测试函数表起始标志测试函数BOF()()格式:格式:BOF()功能:测试记录指针是否移到表起始处。如果记录指针指向表功能:测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回值为中首记录前面,函数返回值为.T.,否则为,否则为.F.。例如:例如:USE 学生表学生表 GO BOTTOM SKIP 1?EOF()()GO TOP SKIP-1?BOF()()2.4.5 测试函数测试函数