




已阅读5页,还剩81页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Visual FoxProVisual FoxPro系统初步系统初步 1.系统性能与工作方式: (1)各种文件类型及特点,命令格式。 (2)系统主要性能指标。 (3)两种工作方式:交互方式和程序运行方式。 2.VFP的界面组成与操作 3.VFP的辅助设计工具:向导、设计器、生成器。 4.Visual FoxPro的数据元素: (1)常量:常量:数值型、字符型、逻辑型、日期型常量。 (2)变量:变量:字段变量、简单内存变量、数组、内存变量 的保存及恢复。 (3)表达式:表达式:表达式的类型及运算。 (4)常用函数:常用函数:数值计算函数、字符处理函数、日期类 函数、数据类型转换函数、测试函数。 Visual FoxPro 数据元素 1 1)常量)常量 数值型(数值型(N N)、)、字符型( 字符型(C C)、)、逻辑型(逻辑型(L L ) 日期型(日期型(D D)、)、日期时间型(日期时间型(T T) 2 2)变量变量 字段变量字段变量: : 内存变量:内存变量:定义、赋值、保存与恢复定义、赋值、保存与恢复 数组:数组:定义、赋值、引用定义、赋值、引用 3 3)表达式)表达式 类型及运算顺序类型及运算顺序 Visual Visual FoxproFoxpro数据基础数据基础 4 4)常用函数)常用函数 见下页见下页 4 4)常用函数常用函数 (1 1)数值计算)数值计算 ABS()、INT()、SQRT()、MAX()、 MIN()、ROUND()、 ; 日期型日期型数据按年、月、日的先后进行比较数据按年、月、日的先后进行比较; ; 字符型字符型数据按相应位置上两个字符数据按相应位置上两个字符ASCIIASCII码值的大小进行比较码值的大小进行比较 例例: : ?“A”345 ?1000=2*4 ?“456”123” ?“计算机 ”=“计算” ?“计算”=“计算机” .TT. .TTTT. .TT. .TT. .FF. .FF. “ “计算机计算机” ” $ $ “ “abcabc_ _计算机世界计算机世界” ” .TT. “ “计算机计算机 ” ” $ $ “ “计算机世界计算机世界” ” .FF. 4 4、逻辑运算符、逻辑运算符 NOT 或 ! 逻辑非:取反,即结果是右边逻辑值的反 AND 逻辑与 OR 逻辑或 逻辑运算的操作数须是能得出逻辑值的表达式,逻辑运算的操作数须是能得出逻辑值的表达式,运算结果也运算结果也 是是逻辑值逻辑值。 表达式计算按优先级从高到低执行 例如:例如:计算表达式计算表达式 . .T. T. ANDAND “ABC” “AB” “ABC” “AB”, VFPVFP将先关系运算,然后进行与运算将先关系运算,然后进行与运算 表达式值的类型决定了表达式的类型表达式值的类型决定了表达式的类型: : 如:运算结果为数值的表如:运算结果为数值的表达式称达式称数值表达式数值表达式 运算结果为逻辑值的表达式称运算结果为逻辑值的表达式称逻辑表达式逻辑表达式等等 在有算术运算、关系运算以及逻辑运算的混和 表达式中,运算的优先级为: 算术运算 关系运算 逻辑运算 例如:例如: not“fdf “ 98/08/28 .F. 例:? ? 2002 / 10 / 25 11:00 am +120 10/25 / 02 11:02:00 am 01/08/2000 1 1、内存变量、内存变量 独立存在于内存,临时存储用, 退出VFP时清 除 1 1)内存变量定义内存变量定义 变量名:变量名:字母、数字、下划线、汉字开头; 最长为254个(英文)字符。 变量类型:变量类型:N、F、C、L、D、T 当前值类型是什么,变量类型就是什么。 变量创建:变量创建: 赋值时自动创建。 随着被赋值,变量同时获得变量值与变量类型。 STORESTORE、 、 = =、 、 INPUTINPUT、 、WAITWAIT、 、ACCEPT ACCEPT、 、COUNTCOUNT、 、SUMSUM 等等 三、三、 变量变量 使用过程中可以通过输入、赋值等方式改变的量。 有内存变量内存变量、字段变量字段变量、数组变量数组变量、系统变量 系统变量。 2、内存变量赋值命令 1 1) ) STORESTORE 一次可以给一个或多个变量同时赋予同一个值 。 STORE 1 TO X, Y, ZSTORE 1 TO X, Y, Z & x、y、z都为1 2 2) ) 一次给一个变量赋予一个值。 X=1X=1 Y=1 Y=1 Z=1 Z=1 【命令命令1 1】STORE TO 【命令命令2 2】= 【功能功能】将表达式的值赋给内存变量,并同时定义将表达式的值赋给内存变量,并同时定义 内存变量和确定其数据类型。内存变量和确定其数据类型。 2 2)内存变量赋值命令内存变量赋值命令 STORE 77 TO S STORE 良 TO D ? “成绩为”,S, 分 ?“ 等级:” , D 输出 成绩为 77 分 等级: 良 STORE 77 TO S STORE 良 TO D ? “成绩为”,S,分 ?“ 等级:” , D 输出 成绩为 77 分 等级: 良 3 3)内存变量值的输出内存变量值的输出 内存变量值的输出可使用内存变量值的输出可使用? ?或或?命令来实现。命令来实现。 【命令命令1 1】 ? 【命令命令2 2】 ? 【功能功能】先计算先计算中各表达式的值,然后将结中各表达式的值,然后将结 果显示输出在屏幕上。果显示输出在屏幕上。 【说明说明】使用使用“ “?” ”命令,显示结果在下一行输出;命令,显示结果在下一行输出; 使用使用“ “?” ”命令,显示结果在当前行中输出。命令,显示结果在当前行中输出。 如果只执行不带任何表达式的如果只执行不带任何表达式的“ “?” ”命令,则输命令,则输 出一个空行。出一个空行。 为节省存储空间,不再使用的内存变量应使用清除命 令来释放其所占的内存空间。 【命令命令1 1】 CLEAR MEMORY 【命令命令2 2】 RELEASE 【命令命令3 3】 RELEASE ALL EXTENDED 【命令命令4 4】 RELEASE ALL LIKE / EXCEPT 【功能功能】命令1 清除内存中所有内存变量。 命令2 清除内存变量名表中指定的内存变量。 命令3 清除所有的内存变量。在人机会话状态下,其作用与命令在人机会话状态下,其作用与命令 1 1相同。如果该命令出现在程序中,则应当加上短语相同。如果该命令出现在程序中,则应当加上短语EXTENDEDEXTENDED,否则不能清除公共内存变量。否则不能清除公共内存变量。 命令4 利用通配符选择清除内存变量。如果选用短语如果选用短语 LIKELIKE,清除与通配符相匹配的内存变量;如果选用短语清除与通配符相匹配的内存变量;如果选用短语EXCEPTEXCEPT,则清除与通配符不相匹配的内存变量。则清除与通配符不相匹配的内存变量。 4 4)内存变量清除命令内存变量清除命令 5 5)内存变量的保存与恢复内存变量的保存与恢复 当退出Visual FoxPro系统后,用户所建立的内存变 量将不会存在,如果希望保存这些内存变量,可用下面的 命令将它们保存到内存变量文件中。 【命令命令】SAVE TO ALL LIKE | ALL EXCEPT 【功能功能】将当前内存中的内存变量存放到内存变量文 件中。 【说明说明】内存变量文件的扩展名为.MEM; 缺省可选项时,将所有内存变量(系统变量 除外)存放到内存变量文件中。 如果要重新使用已保存在内存变量文件中的内存变量,可用命令如果要重新使用已保存在内存变量文件中的内存变量,可用命令RESTORE FROM ADDITIVE ADDITIVE 进行恢复,将内存变量调入内存。进行恢复,将内存变量调入内存。 数组变量(数组)是按一定顺序排列的一组内存变 量的集合。数组中的变量称为数组元素。每一数组元素 用数组名以及该元素在数组中排列的序号一起表示,也 称为下标变量。 例如:例如: x(1)、x(2)与y(1,1)、y(1,2)、y(2,1)、y(2,2)等。 因此数组也看成是名称相同、而下标不同的一组变量因此数组也看成是名称相同、而下标不同的一组变量 。这些数据具有共同的名字:数组名,各数据由各不相同。这些数据具有共同的名字:数组名,各数据由各不相同 的整数下标相互区分,并通过数组名的整数下标相互区分,并通过数组名+ +下标来访问。下标来访问。 下标变量的下标个数称为维数,只有一个下标的数组 叫一维数组一维数组,有两个的叫二维数组二维数组。数组的命名方法和 一般内存变量的命名方法相同 2 2、数组、数组 1 1). .数组的定义数组的定义 数组使用前须先定义,Visual FoxPro中可以定义一维 数组和二维数组。 【格式格式】 DIMENSION (,) ,(,) DECLARE (,) ,(,) 【功能功能】 定义一个或多个一维或二维数组。 2 2). .数组的赋值数组的赋值 数组定义好后,数组中的每个数组元素自动地被 赋予逻辑值.F.。 当需要对整个数组或个别数组元素进行新的赋值 时,与一般内存变量一样,可以通过下面两个方式: STORESTORE命令命令 赋值号赋值号“ “= ” ” 对数组的不同元素,可以赋予不同数据类型的数 据。 例如:例如: DIME X(30),W(3,2) 定义一维数组定义一维数组X X(3030): : 有有3030个下标变量(元素)个下标变量(元素) 二维数组二维数组WW(3 3,2 2): : 有有6 6个(个(2*32*3)数组元素)数组元素 各数组元素(下标变量)的类型可以各不相同,初值都 是逻辑型的 .F. z 数组名后的一对圆括号不能省略,圆括号中有几个数值 型表达式,数组就是几维数组。 z 命令 X=1, 或 STORE 1 TO X,将给数组每个下标变量 赋值为1,数据类型为 N 型。 3 3). .数组的使用:数组的使用: 数组名(下标)可以访问该数组中下标指定的数组数组名(下标)可以访问该数组中下标指定的数组 元素。元素。 例如:例如: DIME XDIME X( (4 4) ) & & 定定义义 义义一一维维维维数数组组组组X X X X( (1 1) )=20 =20 & X& X( (1 1) )是是 N N 型型 X X( (2 2) )=ASDF =ASDF & X& X( (2 2) )是是 C C 型型 X X( (3 3) )=CTOD=CTOD( (” ”01/21/97“ 01/21/97“ ) ) & D & D 型型 Z=XZ=X( (2 2) ) ?X X( (1 1),),X X( (2 2),),Z Z 输出: 20 ASDF ASDF20 ASDF ASDF 二维数组数据在内存中的存放顺序为:二维数组数据在内存中的存放顺序为: 先行后列,(先第一个下标,后第二个下标), 可以用一维数组的形式访问二维数组。 例如:例如: DIME X( 3DIME X( 3,2)2) 内存顺序 等价的一维数组形式 X X(1 1,1 1) X X(1 1) ) X X(1 1,2 2) X X(2 2) X X(2 2,1 1) X X(3 3) X X(2 2,2 2) X X(4 4) X X(3 3,1 1) X X(5 5) X X(3 3,2 2) X X(6 6) 问题:问题:若定义若定义 DIME Y(4, 5)DIME Y(4, 5),则,则 Y(15) Y(15) 对应对应 Y( Y( ?, , ?) ) 3 3 5 5 3 3、字段变量、字段变量 1 1)定义:)定义:由于表中的各条记录对同一个字段名可能取值不同 是建立数据表结构时所定义的字段名。 用于存储字段的值。是一种多值变量一种多值变量。 2 2)字段变量的类型:)字段变量的类型: N N、 C C、 F F、 B B、 I I、 L L 数值、数值、 字符、字符、 浮点、浮点、 双精度、双精度、 整型、整型、 逻辑逻辑 D D、 T T、 M M、 G G 日期、日期时间、备注、日期、日期时间、备注、 通用型通用型 请注意理解字段的变量性。请注意理解字段的变量性。 1)1)字符型(字符型(C)C) (用户可定义宽度)用户可定义宽度) 2626个英文字母、个英文字母、1010个数字、各种符号、空格、汉字个数字、各种符号、空格、汉字 等组成,长度最大为等组成,长度最大为 254254个个 (英文)字符。(英文)字符。 2)2)数值型(数值型(N N、F F、B B、I I) (用户可定义宽度)用户可定义宽度) 1 1)数值型)数值型 (N N) 2020位数字、符号、小数点位数字、符号、小数点 2 2)浮点型)浮点型 (F) 20F) 20位数字、符号、小数点位数字、符号、小数点 3 3)双精度型()双精度型(B) 8B) 8个个字节存储字节存储 4 4)整形)整形 (I) 4I) 4个字节存储个字节存储 3)3)逻辑型(逻辑型(L L) (系统固定宽度系统固定宽度 1 1 ) 只有两个:只有两个: 真真 , 假假 字段变量的类型字段变量的类型 4)4)日期型(日期型(D D)、)、日期时间型日期时间型(固定宽度(固定宽度 8 8 ) 默认格式默认格式 mm/mm/dd/yydd/yy mm/dd/yymm/dd/yy tt:mm:sstt:mm:ss 月月/ /日日/ /年年 月月/ /日日/ /年年 时:分:秒时:分:秒 5)5)货币型货币型(Y Y) (用户可定义宽度)用户可定义宽度) 表示货币的量。表示货币的量。 6)6)备注型(备注型(M M) (固定宽度固定宽度 4 4 ) 只用于表的字段定义,用于指示备注内容在备注文件中只用于表的字段定义,用于指示备注内容在备注文件中 的位置。的位置。 7)7)通用型(通用型(G G) (固定宽度固定宽度 4 4 ) 只用于表的字段定义,用于指示多媒体信息的位置。只用于表的字段定义,用于指示多媒体信息的位置。 4 4、系统变量、系统变量 系统内存变量是Visual FoxPro自动生成和维护 的变量,用于控制Visual FoxPro的输出和显示的格 式。 为了和一般的内存变量有不同的形式,可以在 系统内存变量名前面加一条下划线“_”。 例如,例如,系统内存变量_DIARYDATE用于存储当前日期 系统内存变量_pageno控制输出报表页号 系统内存变量_PEJECT用于设置打印输出时的 走纸方式 系统默认值是BEFORE,即打印前走纸换页,用户可以将其设置为NOT,即 打印前不换页走纸。 VFPVFP的变量总结表的变量总结表 变量变量: :命令操作和程序运行过程中其值可以改变的量,一般分字段变量、内存变量两类。 字段变量字段变量即数据表中的字段 ;内存变量内存变量是内存中的一些临时工作单元,独立于数据库和表文件 内存变量内存变量命名规则:命名规则:以字母或汉字开头以字母或汉字开头, ,与字段变量同名时在内存变量名前加与字段变量同名时在内存变量名前加” . . MM” 内存变量的内存变量的赋值:赋值:法法1. 1. Store Store To To 法法2. 2. = 显示:显示:List memory LikeList memory Like To Printer / To File To Printer / To File 内存变量的内存变量的保存:保存:Save To Save To All Like All Like / /All ExceptAll Except 恢复:恢复:Restore From Restore From Additive Additive 删除:删除:法法1. 1. Clear Memory Clear Memory 法法2. 2. Release Release 变量名表变量名表 法法3. 3. Release All Like/Except Release All Like/Except 数组变量的定义:数组变量的定义:如如:Dimension abc(3):Dimension abc(3),x(2,3) x(2,3) ( (注注: :Dimension=DeclareDimension=Declare) ) 赋值:赋值:如如: :1 1.Store 10 to .Store 10 to abcabc 2 2.abc(2)=10 .abc(2)=10 3 3.x(2,1)=.F. .x(2,1)=.F. 等同于等同于x(4)=.F.x(4)=.F. 表达式是由常量、变量、函数、运算符构成的运 算式,根据参与运算的量的性质,分为算术表达式、算术表达式、 字符表达式、关系表达式、日期(日期时间)表达式字符表达式、关系表达式、日期(日期时间)表达式 和逻辑表达式和逻辑表达式 。 四、表达式四、表达式 (2.8.3)(2.8.3) 1 1、算术(、算术(N N型)表达式型)表达式 参与量:参与量:N N型常量、内存及字段变量、函数、数组等;型常量、内存及字段变量、函数、数组等; 运算符:运算符:、* *、/ /、 * *或或 优先级顺序:括号优先,然后乘方,再乘除,再取模优先级顺序:括号优先,然后乘方,再乘除,再取模 ,最后加减。,最后加减。 结果:结果: N N型值型值 运算符功 能 表达式举 例 运算结果 * 或 幂或乘方 2*4或 24 16 *,/乘、除 25*4/205 % 模运算(取 余) 16%3 1 +,- 加,减7+9-610 算术运算符与数值表达式 2 2、字符(、字符(C C型)表达式型)表达式 参与量:参与量:C C型常量、内存及字段变量、函数、数组等型常量、内存及字段变量、函数、数组等; ; 运算符:运算符:、 结果:结果: 、 C C型值型值 字符 :两个字符串严格拼接; 字符 :第一个字符串的后尾空格将移到结果串的尾部 。 “程序“+“设计“ “程序 “+“设计“ “程序设计“ “程序 设计“ “程序 “-“设计“程序设计 “ 表达式举例表达式举例运算结果运算结果 串串1$1$串串2 2:判断串:判断串1 1是否在串是否在串2 2中,返回中,返回.TT.或或.F.(L.F.(L型型) ) 例例2 2 设设 a=123456 a=123456 ,b=23 b=23 ,c= 567 c= 567 ?b$a?b$a & & 等价于 等价于 23 23 包含于包含于123456 123456 结果为:结果为: .TT. ?c$a?c$a & & 等价于等价于 567567包含于包含于123456 123456 结果为:结果为: .FF. 4 4、日期、日期时间表达式、日期、日期时间表达式 参与量:参与量: 算术表达式,日期型常量、内存变量、 字段变量和函数构成。 运算符:运算符:、 (算术运算符) 结果:结果: D D型型 N N型型 D型 T型 N型 T型 D型 N型 D型 T型 N型 T型 D型 D型 N型 T型 T型 N型 例: ? ctod(“06/19/02”)+10 输出结果为:06/29/02 & 10天后的日期 ? ctod(“10/25/96”)-ctod(”10/10/96”) 输出结果为:15 & 两个日期间相差的天数 格 式结果及类型 +指定日期若干天后的日期。其结果是日期型 +指定日期若干天后的日期。其结果是日期型 -指定日期若干天前的日期。其结果是日期型 -两个指定日期相差的天数。其结果是数值型 +指定日期时间若干秒后的日期时间。其结果是日期 时间型 +指定日期时间若干秒后的日期时间。其结果是日期 时间型 -指定日期时间若干秒前的日期时间。其结果是日期 时间型 -两个指定日期时间相差的秒数。其结果是数值型 日期时间表达式的格式 表3.7 日期时间运算符及表达式运算符功能表达式举例显示结果数据类型 +加 2005/08/20+808/28/05日期型 2005/08/28 9:15:20+20008/28/05 09:18:40 AM日期时间型 -减 2005/08/28- 2005/08/20 8(相隔天数)数值型 2005/08/28 9:18:40 -2005/08/28 9:15:20 200(秒)数值型 运算 符 功 能 表达式举例显示结果数据类型 + + 加加2005/08/20+82005/08/20+808/28/0508/28/05日期型日期型 减减2005/08/28 2005/08/28 9:15:20+2009:15:20+200 08/28/05 08/28/05 09:18:40 AM09:18:40 AM 日期日期时间时间 型型 - - 功功 能能 2005/08/28-2005/08/28- 2005/08/202005/08/20 8 8(相隔天数)相隔天数)数数值值型型 加加2005/08/28 2005/08/28 9:18:409:18:40 200200(秒)(秒)数数值值型型 日期时间运算符及表达式 5 5、逻辑表达式、逻辑表达式 首先掌握逻辑运算规则表 First! 参与量:参与量:由关系型表达式、逻辑型常量、内存变量 字段变量、函数构成。 运算符:运算符:.AND.(逻辑与)、.OR.(逻辑或)、 .NOT.或 !(逻辑非) 运算顺序:运算顺序: 括号、非! 、与(且) .AND. 、或.OR. 结果:结果:逻辑值 .T.(真)或.F.(假) 例例: : 设设设设 X=34X=34, ,Y=23Y=23 ?x2.or.y12.and.x0.AND.Y=22 结果 .F. A A B B .NOT. B.NOT. B A .AND. A .AND. B B A .OR. A .OR. B B .TTTTFFTTTT. .TTFFTTFFTT. .FFTTFFFFTT. .FFFFTTFFFF. 逻辑运算真值表逻辑运算真值表 表达式运算优先顺序表达式运算优先顺序 如果表达式有各种类型的运算符时如果表达式有各种类型的运算符时, ,其运算顺序其运算顺序 : 函数函数 高高 圆括号圆括号 算术运算符和字符串运算符算术运算符和字符串运算符 关系运算符关系运算符 逻辑运算符逻辑运算符 低低 例如:例如:设有字段:出生日期(D)、职称(C)、工资(N) 1.19601.1960年以后出生的未晋升教授者,或工资低于年以后出生的未晋升教授者,或工资低于800800元元 者:者: (year(year(出生日期出生日期)1960 .AND. !”)1960 .AND. !”教授教授” ”$ $职称职称) . OR. . OR.工资工资1960 .AND.)1960 .AND. (!” (!”教授教授” ”$ $职称职称.OROR.工资工资 ) 【功能】 计算数值型表达式的值,取其整数部分。计算数值型表达式的值,取其整数部分。 2. 2. 绝对值函数绝对值函数 【格式】 ABSABS( ) 【功能】 求数值型表达式的绝对值。求数值型表达式的绝对值。 3. 3. 最大值函数最大值函数 【格式】 MAXMAX(1,2 ) 【功能】 计计计计算两个数算两个数值值值值型表达式的型表达式的值值值值,取其中,取其中较较较较大者大者 常用函数常用函数 (掌握(掌握) 4. 4. 最小值函数最小值函数 【格式】 MIN(, ) 【功能】 计算两个数值型表达式的值,取其较小者。 5. 5. 平方根函数平方根函数 【格式】 SQRT( ) 【功能】 计算数值型表达式的算术平方根。 6. 6. 指数函数指数函数 【格式】 EXP( ) 【功能】 计算以e为底的指数幂。 7. 7. 对数函数对数函数 【格式】 LOG( ) 【功能】 计算数值型表达式的自然对数值。 8. 8. 四舍五入函数四舍五入函数 【格式】 ROUNDROUND( , ) 【功能】 计算数值型表达式的值,根据小数保留位数 进行四舍五入,当小数保留位数为n(0)时,则对小 数点后第n+1位四舍五入;当小数保留位数为负数n时, 则对小数点前第|n|位四舍五入。 【例例】 ?ROUNDROUND( (53.627953.6279, ,2 2) ) 结结结结果果为为为为: :53.6353.63 ?ROUNDROUND( (53.627953.6279, ,0 0) ) 结结结结果果为为为为: :5454 ?ROUNDROUND( (8375.628375.62, ,-2-2) ) 结结结结果果为为为为: :84008400 9. 9. 求余函数求余函数 【格式】 MODMOD(1,2) 【功能】计算数值型表达式1除以数值型表达式2的余 数,其中数值型表达式2的值不能为0,而余数的符号而余数的符号 与数值型表达式与数值型表达式2 2的符号相同。的符号相同。 【例例】 ? MOD(10, 3) 结结果为为:1 ? MOD(-10,-3) 结结果为为:-1 ? MOD(10,-3) 结结果为为:-2 ? MOD(-10, 3) 结结果为为: 2 3.5.2 字符处理函数 表3.11 常用字符处理函数 函函 数数功能简述功能简述 ALLTRIM()ALLTRIM()删删删删除指定字符串的前除指定字符串的前导导导导空格和尾部空格空格和尾部空格 AT()AT()查查查查找一子字符串在某字符串中首次出找一子字符串在某字符串中首次出现现现现的起始位置的起始位置 ATC()ATC()ATC()ATC()与与AT()AT()的功能相似,但在子串比的功能相似,但在子串比较时较时较时较时 不区分字母的大小写不区分字母的大小写 CHRTRAN()CHRTRAN()替替换换换换字符字符 LEFT()LEFT()从字符串的左端第一个字符开始向右截取一个子串从字符串的左端第一个字符开始向右截取一个子串 LEN()LEN()测试测试测试测试 并返回指定字符串的并返回指定字符串的长长长长度(即字符的个数)度(即字符的个数) LIKE()LIKE()进进进进行字符串匹配比行字符串匹配比较较较较 LOWER()LOWER()将字符串中的所有大写字母将字符串中的所有大写字母转换为转换为转换为转换为 小写字母小写字母 LTRIM()LTRIM()删删删删除指定字符串的前除指定字符串的前导导导导(左端)空格(左端)空格 OCCURS()OCCURS()返回第一个字符串在第二个字符串中出返回第一个字符串在第二个字符串中出现现现现的次数的次数 REPLICATE()REPLICATE()重复重复产产产产生多个指定的字符串生多个指定的字符串 RIGHT()RIGHT()从字符串的右端第一个字符开始向左截取一个子串从字符串的右端第一个字符开始向左截取一个子串 RTRIM()RTRIM()删删删删除指定字符串的尾部空格除指定字符串的尾部空格 SPACE()SPACE()产产产产生并返回由指定数目的空格所生并返回由指定数目的空格所组组组组成的字符串成的字符串 STUFF()STUFF()用一子串替用一子串替换换换换主字符串中的某部分字符串主字符串中的某部分字符串 SUBSTR()SUBSTR()从指定位置开始,在字符串中截取一部分字符串从指定位置开始,在字符串中截取一部分字符串 TRIM()TRIM()删删删删除指定字符串的尾部空格除指定字符串的尾部空格 UPPER()UPPER()将字符串中的所有小写字母将字符串中的所有小写字母转换为转换为转换为转换为 大写字母大写字母 常用字符处理函数 二、字符函数二、字符函数 1. 1. 宏代换函数宏代换函数 & 【格式】 &. . 【功能】在字符型内存变量前使用宏代换函数符号& & ,将用该内存变量的值去替换& &和内存变量名。如后 面紧接有其它字符表达式时,应加 园点. .进行分隔。 【例例】 aaaa= = DBMSDBMS bb= bb= aaaa ?aaaa,bbbb,&bb&bb 结果为:结果为:DBMS DBMS aaaa DBMS DBMS a1=+5*8 a1=+5*8 a2=5&a1./5 a2=5&a1./5 ?&a2&a2 结果为:结果为:1313 2. 2. 字符串长度函数字符串长度函数 【格式格式】 LEN LEN ( ) ) 【功能功能】 测试字符串长度测试字符串长度, , 返回值为数值型。返回值为数值型。 4. 4. 空格生成函数空格生成函数 【格式格式】 SPACESPACE( ( ) 【功能功能】 产生由数值型表达式代表数目的空格产生由数值型表达式代表数目的空格 ,返回值为字符型。,返回值为字符型。 3. 3. 查找子字符串位置函数查找子字符串位置函数 【格式】 ATAT(1,2 ,) 【功能功能】查找字符型表达式查找字符型表达式1 1在字符型表达式在字符型表达式2 2中的位中的位 置,返回值为数值型。置,返回值为数值型。 如有数值型表达式如有数值型表达式n n,则返回字符型表达式则返回字符型表达式1 1在字符型在字符型 表达式表达式2 2中第中第n n次出现的起始位置,次出现的起始位置, 如果字符型表达式如果字符型表达式1 1不在字符型表达式不在字符型表达式2 2中中, , 返回值为返回值为0 0 【例例】 ?AT ( “n”, “Internet”, 2 ) 结果为:结果为:6 6 ?AT ( “n”,”Internet” ) 结果为:结果为:2 2 5. 5. 取子字符串函数取子字符串函数 【格式格式】 SUBSTRSUBSTR(, 1 ,2) 【功能功能】 在字符型表达式中,截在字符型表达式中,截取一个子字符串,函取一个子字符串,函 数数的返回值为字符型。的返回值为字符型。 【例例】 ?SUBSTRSUBSTR( (“ “面向面向对对对对象程序象程序设计设计设计设计” ”, ,9 9, ,4 4) ) 结果为:程序 ?SUBSTRSUBSTR( (“ “Microsoft PowerPoint”Microsoft PowerPoint”, ,1111, ,5 5) ) 结果为: Power 6. 6. 取左子串函数取左子串函数 【格式格式】 LEFTLEFT( , ) 【功能功能】 在字符型表达式中,从左边开始截在字符型表达式中,从左边开始截取取数值型表数值型表 达式指定的字符个数,返回值为字符型。达式指定的字符个数,返回值为字符型。 【例例】 ?LEFTLEFT(“ “面向对象程序设计面向对象程序设计” ”,8 8) 结果为:结果为:面向对象面向对象 7. 7. 取右子串函数取右子串函数 【格式格式】 RIGHTRIGHT( ,) 【功能功能】 在字符型表达式中,从右边开始截在字符型表达式中,从右边开始截取取数值型表数值型表 达式指定的字符个数,返回值为字符型。达式指定的字符个数,返回值为字符型。 【例例】 ?RIGHTRIGHT(“ “面向对象程序设计面向对象程序设计” ”,),) 结果为:结果为:程序设计程序设计 三、转换函数三、转换函数 1. 1. 大写转小写函数大写转小写函数 【格式格式】 LOWER LOWER( ) 【功能功能】 将字符型表达式中的大写字母转换为小将字符型表达式中的大写字母转换为小 写写 字母,返回值为字符型。字母,返回值为字符型。 2. 2. 小写转大写函数小写转大写函数 【格式格式】 UPPERUPPER( ) 【功能功能】 将字符型表达式中的小写字母转换为大将字符型表达式中的小写字母转换为大 写写 字母,返回值为字符型。字母,返回值为字符型。 3. 3. 字符串转日期函数字符串转日期函数 【格式格式】 CTODCTOD( ) 【功能功能】 将日期形式的字符串转换为日期数据,将日期形式的字符串转换为日期数据, 返回值为日期型。返回值为日期型。 【例例】 ?CTODCTOD( (“ “07/01/97”07/01/97”) ) 结果为:结果为:07/01/9707/01/97 4. 4. 日期转字符串函数日期转字符串函数 【格式格式】 DTOCDTOC(|,11 ) 【功能功能】 返回对应日期型表达式或日期时间型表达式返回对应日期型表达式或日期时间型表达式 的的 字符串,返回值为字符型。字符串,返回值为字符型。 如有可选项如有可选项 ,11,则以年月日的格式输出。,则以年月日的格式输出。 【例例】 X=CTOD X=CTOD(“ “07/01/9707/01/97” ”) & x& x为日期型为日期型 ?DTOCDTOC(x x) 结果为:结果为:07/01/97 07/01/97 (字符型)(字符型) ?DTOCDTOC(x x,1 1) 结果为:结果为:19970701 19970701 (字符型(字符型) 5. 5. 数值转字符串函数数值转字符串函数 【格式格式】 STR STR(1,2 , 3 ) 【功能功能】将数值型表达式将数值型表达式1 1代表的实际数值转换为字符代表的实际数值转换为字符 串,返回值为字符型。串,返回值为字符型。 数值型表达式数值型表达式2 2确定返回字符串的长度,数值确定返回字符串的长度,数值 型表达式型表达式3 3确定返回字符串的小数位数,确定返回字符串的小数位数, 【例例】 ?? STR(256.4,6,2), STR(256.4,5) , STR(256.4) ? STR(256.47,5,2), STR(10256.47,4,2) 结果为:256.40 256 256 256.5 * 6. 6. 字符串转数值型函数字符串转数值型函数 【格式格式】 VALVAL( ) 【功能功能】 将数字字符串转换为数值型数据,返回值将数字字符串转换为数值型数据,返回值 为为 数值型。转换时,数值型。转换时,遇到第一个非数字字符遇到第一个非数字字符 时时 停止。停止。 【例例】 ?VALVAL(“ “1024M”1024M”),), VALVAL(“ “GB2312-80”GB2312-80”) 结果为:结果为:1024 0.001024 0.00 7. 7. 字符字符转转ASCIIASCII码函数码函数 【格式格式】 ASCASC( ) 【功能功能】 返回字符型表达式中第一个字符的返回字符型表达式中第一个字符的ASCIIASCII码码 ,返回值为数值型。,返回值为数值型。 【例例】 ?ASCASC(“ “ABC”ABC”) 结果为:结果为:6565 8. ASCII8. ASCII码转字符函数码转字符函数 【格式格式】CHRCHR( ) 【功能功能】将将ASCIIASCII码转换为相应字符。返回值为字符码转换为相应字符。返回值为字符 型。型。 【例例】 ?CHR CHR (9797) 结果为结果为:a a 四、日期时间函数四、日期时间函数 1. 1. 系统当前日期函数系统当前日期函数 【格式格式】 DATE DATE()() 【功能功能】 返回系统当前日期,返回值为日期型。返回系统当前日期,返回值为日期型。 默认格式为默认格式为 MM/DD/YYMM/DD/YY 2. 2. 系统当前时间函数系统当前时间函数 【格式格式】 TIME TIME()() 【功能功能】 返回系统当前时间,返回值为字符型,返回系统当前时间,返回值为字符型, 默认格式为默认格式为 HH:MM:SSHH:MM:SS 3. 3. 年函数年函数 【格式格式】 YEAR YEAR( ) 【功能功能】 返回日期型表达式或日期时间型表达式的年返回日期型表达式或日期时间型表达式的年 份值,返回值为数值型。份值,返回值为数值型。 4. 4. 月函数月函数 【格式格式】 MONTH MONTH( ) 【功能功能】 返回日期型表达式或日期时间型表达式的月返回日期型表达式或日期时间型表达式的月 份值,返回值为数值型。份值,返回值为数值型。 5. 5. 日函数日函数 【格式格式】DAYDAY( ) 【功能功能】 返回日期返回日期/ /日期时间型表达式的日的数值,日期时间型表达式的日的数值, 返回值为数值型。返回值为数值型。 6. 6. 星期函数星期函数 【格式格式】 DOWDOW( ) CDOWCDOW( ) 【功能功能】 返回日期返回日期| |日期时间型表达式所对应的星期号日期时间型表达式所对应的星期号 。 格式格式的返回值为数值型,星期日为的返回值为数值型,星期日为1 1、星期一为、星期一为2 2、星、星 期六为期六为7 7; 格式格式的返回值为字符型,是星期号的英文名称。的返回值为字符型,是星期号的英文名称。 五、测试函数五、测试函数 1. 1. 文件起始测试函数文件起始测试函数 【格式格式】 BOF BOF( ( ) 【功能功能】 测试当前或指定工作区中数据表的记录指测试当前或指定工作区中数据表的记录指 针是否指向第一条记录之前。返回值为逻辑型。针是否指向第一条记录之前。返回值为逻辑型。 2. 2. 文件结束测试函数文件结束测试函数 【格式格式】 EOF EOF() 【功能功能】 测试当前或指定工作区中数据表的记录指测试当前或指定工作区中数据表的记录指 针是否指向最后一条记录之后。返回值为逻辑型针是否指向最后一条记录之后。返回值为逻辑型. . 3. 3. 当前记录号测试函数当前记录号测试函数 【格式格式】 RECNO RECNO() 【功能功能】 测试当前或指定工作区中数据表的当前记测试当前或指定工作区中数据表的当前记 录号,即记录指针当前指向的记录号。返回值为数录号,即记录指针当前指向的记录号。返回值为数 值型。值型。 4. 4. 查询结果测试函数查询结果测试函数 【格式格式】 FOUND FOUND() 【功能功能】 在用命令在用命令LOCATE/CONTINUELOCATE/CONTINUE、FINDFIND、 SEEKSEEK后测试是否找到,返回值为逻辑型。后测试是否找到,返回值为逻辑型。 5. 5. 文件存在测试函数文件存在测试函数 【格式格式】 FILE FILE( ) 【功能功能】 测试在系统中指定的文件是否存在,返回值测试在系统中指定的文件是否存在,返回值 为逻辑型。如果存在,返回为逻辑型。如果存在,返回.TT.;否则返回否则返回.FF.。 必须给出扩展名并放在定界符(必须给出扩展名并放在定界符( 、“”“”或或 )中。)中。 6. 6. 数据表文件存在测试函数数据表文件存在测试函数 【格式格式】 DBF DBF() 【功能功能】 返回当前或指定工作区中的数据表文件名,返回当前或指定工作区中的数据表文件名, 返回值为字符型。如没有打开的数据表文件,则返回返回值为字符型。如没有打开的数据表文件,则返回 空串。空串。 9. 9. 测试表达式类型函数测试表达式类型函数 【格式格式】TYPETYPE( ) 【功能功能】 测试表达式的数据类型,返回值为字符型测试表达式的数据类型,返回值为字符型 。 必须放在定界符(必须放在定界符( 、“”“”或或 )中)中 。 【例例】 x=“3.14159” x=“3.14159” ?TYPETYPE(“ “x”x”) & & 被测值必须放在定界符中被测值必须放在定界符中 结果为:结果为:C C 7. 7. 记录个数测试函数记录个数测试函数 【格式格式】 RECCOUNT RECCOUNT() 【功能功能】 测试当前或指定工作区中数据表的记录个数测试当前或指定工作区中数据表的记录个数 ,包含已作逻辑删除的记录。返回值为数值型。,包含已作逻辑删除的记录。返回值为数值型。 8. 8. 工作区号测试函数工作区号测试函数 【格式格式】 SELECT SELE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年体育心理学基础知识考试题及答案
- 2025年旅游城市与文化遗产的综合能力测试题及答案
- 2025年临床护理学专业能力测试试卷及答案
- 2025年建筑师职称考试试题及答案
- 2025年国际市场营销战略与实务考试卷及答案
- 2025年中国电信集团有限公司北京分公司招聘笔试模拟试题附答案详解
- 物资设备采购管理制度
- 特勤大队返程管理制度
- 特殊学生寝室管理制度
- 特殊幼儿食谱管理制度
- 跨学科视域下道德与法治与心理健康教育融合的探究
- 2025公需课《人工智能赋能制造业高质量发展》试题及答案
- 旅游公司的财务岗位职责
- 《结肠憩室》课件
- 2025年广东省珠海市香洲区5月中考模拟化学试题(含答案)
- CRRT的操作流程及护理要点
- 老年髋部骨折围术期护理临床实践专家共识2024版解读
- 防范代理退保风险
- 大荷兰人环控系统培训
- BRCGS全球标准食品安全第9版内部审核和管理评审全套记录
- 制备结构色可控光子晶体水凝胶并实现多种功能
评论
0/150
提交评论