VisualFoxPro的语言基础.doc

上传人:豆**** 文档编号:17426726 上传时间:2022-05-24 格式:DOC 页数:20 大小:176KB
返回 下载 相关 举报
VisualFoxPro的语言基础.doc_第1页
第1页 / 共20页
VisualFoxPro的语言基础.doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《VisualFoxPro的语言基础.doc》由会员分享,可在线阅读,更多相关《VisualFoxPro的语言基础.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流VisualFoxPro的语言基础.精品文档. Visual FoxPro的语言基础 利用Visual FoxPro 6.0进行数据库管理,不仅需要学会利用菜单和工具进行操作,而且还应掌握Visual FoxPro语言,学会命令操作和程序操作。与其他计算机高级语言一样,Visual FoxPro 语言基础也涉及了诸如数据类型、常量、变量、数组、运算符、表达式和函数等基本概念。3.1 数据类型、常量、变量与数组“数据”是信息的表现形式,是Visual FoxPro中处理的最基本对象。数据是有类型的。另外,数据在计算机系统中进行加工处理时,往往需

2、要一个载体,以便暂时存储在内存中,这些载体就是常量、变量和数组。3.1.1 数据类型 无论是Visual FoxPro表中的数据,还是命令或程序中的数据都是有型和值之分的。型是数据的分类,而值则是数据的具体表示。实际工作中所采集到的原始数据,通常需要进行加工处理,转换为对用户有用的信息,因此数据处理的第一步则是要对采集到的数据进行归类,选择恰当的类型来表示。为了满足存储和处理数据的需要,Visual FoxPro提供了多种数据类型,其中最常用的有如下11种。1. 字符型(Character)字符型数据由字母、数字、字符、空格、符号和汉字构成,通常表示用于显示或打印的信息,如学生的姓名,家庭地址

3、等。字符型字段或变量的长度不能超过254个字节,每个英文字符占用一个字节,每个汉字占用两个字节。 2. 数值型(Numeric)数值型数据由数字09以及小数点、正负号和E组成。数值型的长度不超过20个字节,其中负号和小数点各占一位。数值型数值可以进行加、减、乘、除和乘方等算术运算。数值型数据在表中存储时占用120个字节,在内存中存储时占用8个字节。 3. 整型(Integer)整型用于对整数的表示,仅适用于字段的定义。整型数据存储时占用4个字节,且以二进制形式存储。 4. 浮点型(Float)浮点型与数值型是完全等价的,主要是为了和不同版本的FoxPro兼容所设。 5. 双精度型(Double

4、)与一般的数值类型相比,双精度型提供了更高的数值精度,用于对数值精度要求较高的场合,存储位数固定(16位有效数字),但只用于字段的定义,双精度型数据存储时占用8个字节。 6. 货币型(Currency)货币型用于表示货币金额,小数位固定为4位,若超过4位,系统会自动对其进行舍入处理。系统默认的货币符号为“$”。可以通过“Set Currency”命令设置货币符号。货币型数据存储时占用8个字节。 7. 逻辑型(Logical)逻辑型数据只有两个数据值:逻辑真(.T.)和逻辑假(.F.),多用于表示逻辑判断结果,逻辑型数据存储时占用1个字节。 8. 日期型(Date)日期类型用于存储日期数据,其存

5、储格式为“YYYYMMDD”,占8个字节。显示格式有多种,常用的为“MM/DD/YY”,受“Set Date”、“Set Mark ”和“Set Century”等设置命令所作设定的影响。日期型数据的有效范围从公元1年1月1日到公元9999年12月31日。 9. 日期时间型(DateTime)日期时间型表示既包含日期又包含时间的数据,由年、月、日、时、分、秒组成,存储时占用8个字节。日期时间型数据的有效范围从公元1年1月1日0时0分0秒到公元9999年12月31日23时59分59秒。 10. 备注型(Memo)备注型只适用于表中的字段,存储时备注字段数据宽度固定为4个字节,用来表示一个指向存储

6、备注文件(.FPT)内容的指针,而实际的备注内容存放在.FPT文件中。一般来说,表中的备注型字段多用来存放简历、注释等不定长的内容。 11. 通用型(General) 通用型用于存储OLE对象,仅适用于表中的字段,固定宽度为4个字节。通用型字段中,包含了对OLE对象的引用,而一个OLE对象的内容则可以是一个电子表格、声音、图片等。这些OLE对象由相应的应用软件建立。 数据类型是Visual FoxPro中一个非常重要的概念,它决定了表中字段或程序中内存变量、数组变量取值的类型、取值范围、能参与的运算以及存储时所占用的空间等。另外,有些数据类型既可用在表中,也可用在程序或命令中,但有些类型只能用

7、在表中。3.1.2 常量 常量是指命令操作或程序执行过程中,其值和类型保持不变的量。Visual FoxPro 6.0 中支持六种类型的常量:数值型(N)、字符型(C)、逻辑型(L)、日期型(D)、日期时间型(T)和货币型(Y)。注意:在命令或程序中,不同类型的常量有不同的书写格式。1. 数值型常量 由整数、小数或科学记数法表示的数都是数值型常量。例如100、-88、3.14159、1.23E6、2.34E-4等都是数值型常量。应当注意的是,日常用到的百分比数(如10%)、含千分位数(如10,000)、分数(如1/2)等都不是数值型常量。2. 字符型常量 字符型常量是用定界符括起来的字符串或空

8、字符串。定界符可以是一对单引号( )或一对双引号()或一对中括号( ),定界符必须是西文半角字符,定界符括起来的字符串中不能再包括相同的定界符。若定界符本身是字符串中的字符,则必须采用另外一种定界符界定字符串常量。 例如,”FoxPro”、数据库、青岛大学等都是合法的字符型常量。Im wrong是非法的字符型常量。空字符串是指一对定界符之间无任何字符的常量,如、”、等。3. 逻辑型常量 逻辑型常量只有两个值:真和假。其中,表示真的有.T.、.t.、.Y.、.y.四种表示方法,表示假的有.F.、.f.、.N.、.n.四种表示方法。应当注意的是,逻辑型常量两边的句点是西文半角字符,并且不能缺少。4

9、. 日期型常量 日期型常量表示日期,默认格式是:yyyy-mm-dd或yyyy/mm/dd,其中、-(或/)为西文半角字符。表示确定日期时,、-(或/)不能缺省,yyyy表示年份,必须4位,mm表示月份,可1位也可2位,dd表示日,可1位也可2位。例如,2003-2-26和2003/2/26是日期型常量,都表示2003年2月26日,而2003-2-26则不是日期型常量。表示空日期的常量有:、 、/。5. 日期时间型常量 日期时间型常量表示既有日期又有时间的日期时间类型数据,默认格式是为yyyy-mm-dd,hh:mm:ssa|p|am|pm或yyyy/mm/dd,hh:mm:ssa|p|am|

10、pm。其中,、-(或/)等均为西文半角字符,方括号“”表示所括起来的内容可有可无,竖线“|”表示用其分隔的项只能从中选择一个,如果日期和时间之间没有逗号,它们之间必须用空格分开,a或am表示上午,p或pm表示下午,有a或p或am或pm时,hh只能从0到12,否则从0到24。表示空日期时间的常量是/:。例如,2003-2-26,10:5:10表示2003年2月26日上午10点5分10秒,2003-2-26 10:5p表示2003年2月26日晚上10点5分。6. 货币型常量 货币型常量以$开头,后面是整数或小数,但不能是用科学计数法表示的数,小数部分如果超过4位,则四舍五入取4位小数。例如,$12

11、3,$12345.6,$12345.6789都是合法的货币型常量。3.1.3 变量 与其他的计算机语言一样,Visual FoxPro中也有变量,用变量来保存命令操作或程序执行过程中其值改变的数据。Visual FoxPro中,变量分为内存变量、字段变量、数组变量、系统变量和对象变量5种。计算机中变量的概念与数学中变量的含义并不完全相同。数学中的变量隐含了“未知”的因素,而计算机中的变量是指该量在程序执行的整个过程中其值是可以改变的,但在每一瞬时、每一具体运算过程中,其值则是确定的。1. 内存变量 Visual FoxPro内存变量经常出现在程序或命令中,用于保存程序执行过程中的中间结果与最终

12、结果,或用于保存对数据库进行某种分析处理后的结果。内存变量也有类型和值的概念。类型取决于当前所存放的数据的类型,不必像其他计算机语言那样需说明其类型,而变量的值则是指所存放数据的值。(1)内存变量名程序或命令中往往会用到多个内存变量,为了区分不同的变量,因此需要给每一个变量起一个固定名称。实际上,计算机中的每一个变量系统都为其在内存中分配了相应的存储单元,用于保存变量中的数据。通过内存变量的名称来标记和引用相应的存储单元。无论是给变量赋值还是使用变量中的数据,从根本上是对变量所对应的内存单元中的数据进行操作。内存变量的变量名称(变量名)往往需要用户自己指定,而且在Visual FoxPro中变

13、量的命名需要遵循一定的规则,其规则如下:由字母、汉字或下划线开头,后跟字母、汉字、数字或下划线等。长度不能超过128个字符。变量名中不区分字母的大小写。例如,x1、姓名、Page_Head等都是合法的变量名,而2a、m%n等则是非法的变量名。建议在给内存变量命名时变量的第一个字符标记该变量的数据类型,一般采用小写的类型标记字母,例如“nVal1”;变量的其余标记字母标记该变量的含义,尽可能做到“见名知义”,例如“cName”。(2)建立内存变量程序或命令中若使用内存变量,则首先需要给内存变量赋值,否则会出现提示信息“内存变量没有找到!”。Visual FoxPro 6.0中,当用户在程序或命令

14、窗口中第一次给一个内存变量赋值时,也就定义了该变量,变量的类型就是被赋值数据的类型。给已定义的变量可以再赋值,值的类型可以与原来相同,也可以不同,变量的类型就是其保存值的类型。Visual FoxPro提供了多种命令或语句定义内存变量和给内存变量赋值,常用的赋值命令有如下两种格式:【格式1】 = 【功能】首先计算出表达式的值,然后将结果放到“=”左边的内存变量中【例】 nSum=12*3 &将36赋给变量nSum,nSum为数值型变量 cNumber=”编号” &将”编号”赋给变量cNumber注意:上述两条命令定义了两个变量,其中&后面的内容是注释。注释对命令的执行不产生影响,可有可无。赋值

15、语句中的“=”要理解为赋值号,而不应理解为数学中的等号。例如A=A+1,如果按数学中的等号来理解是不能成立的,而应理解为将变量A的值加上1,然后再放到变量A中。【格式2】 STORE TO 【功能】将表达式的值赋给内存变量名表中每个变量。【例】 STORE 3*6 TO A1,A2 &把18分别赋给变量A1,A2两种赋值格式的差别在于:格式1一次只能给一个变量赋值,而格式2则一次能向多个变量中赋值,但只能赋相同的值。注意:变量名表中若包含了多个变量名,则不同变量名之间用“,”号分隔。 (3)引用内存变量变量的引用是指变量的使用。变量是通过变量名来引用的,变量必须定义后才能引用,否则就出错。【例

16、】 nSum=5 &将5赋给变量nSum nSum = nSum +1 &将nSum中原有的值5加上1再存入nSum中(3)输出内存变量若需要在程序或命令中输出已定义变量的内容,可按如下的命令格式进行:【格式】 ? 【功能】依次在系统工作区窗口中输出变量名表中各个变量当前的值。【例】 STORE 3*6 TO A1,A2 &把18分别赋给变量A1,A2 cName=”汪圆” ?cName,A1,A22. 系统变量 系统变量是Visual FoxPro自动定义生成和维护的变量。变量的名称是系统已经定义好的,以“_”(下划线)开头,因此在给普通内存变量命名时,最好不要以“_”字符开头,以避免重名。

17、3. 字段变量 字段变量是数据库管理系统中的一个重要概念。关系数据库中,一个数据库往往由若干个相关的数据表组成,而一个数据表由若干条记录组成,每条记录又是由若干个字段组成的。字段变量是指数据表中已定义的任意一个字段。可以这样理解:在一个数据表中,同一个字段名下有若干个数据项,而数据项的值取决于该数据项所在记录行的变化,所以称之为字段变量。字段变量随着所在数据表的打开自动产生,并随着数据表的关闭而消失。字段变量的数据类型由建立数据表时指定,与该字段定义的类型一致,因此其类型可为数值型、字符型、逻辑型、日期型、日期时间型、浮点型、整型、双精度型、备注型和通用型等。若要使用字段变量,则首先打开字段变

18、量所在的数据表,而数据表的建立则是在系统提供的表设计器中进行的,建立数据表时首先定义的是字段变量的属性,如字段名、类型和宽度等。如果内存变量名与字段变量同名,在引用时,系统优先使用字段变量,若要特指内存变量,可加上前缀“M.”或“M-”。【例】假定当前内存变量和字段变量名都为stuname,则:? stuname &显示字段变量的值? M.stuname &显示内存变量的值? M-stuname &显示内存变量的值3.1.4 数组 数组是指一组按照一定顺序排列的内存变量,其中的每个内存变量称为数组元素。数组元素由数组名及其用于在数组中表示排列位置的下标来表示。例如,含有3个元素的数组a,其3个

19、数组元素是a(1)、a(2)、a(3)。数组下标的个数(而非数组元素的个数)称为数组的维数,Visual FoxPro 6.0只支持一维和二维数组。1. 数组的定义 数组必须先定义后使用,定义数组的命令格式是: 【格式1】DECLARE (下标1,下标2) , (下标1,下标2) 【格式2】DIMENSION (下标1,下标2) , (下标1,下标2) 【功能】定义一个或多个一维或二维数组。【说明】 数组名的命名规则与简单内存变量一样,但应注意不要与已经存在的简单内存变量重名。 下标为数值表达式,用来确定数组中元素的数目。引用数组元素时,数组的下标从1开始。 数组名后面的括号既可以用圆括号“(

20、)”,也可以用方括号“”【例】 DECLARE A(10),B20 &定义了两个一维数组 DIMENSION C(3,4) &定义了一个二维数组2. 数组的赋值 数组被定义了以后,系统为每一个数组元素赋了一个初值.F.。若要改变数组元素的值,可以使用赋值命令。给数组赋值的赋值命令与简单变量类似。【格式1】 STORE TO 数组名【功能】给整个数组赋同一个表达式的值。【例】 DECLARE A(5) STORE 5 TO A &将5赋给数组A中的每个元素【格式2】 数组名(下标1 ,下标2) = 表达式【功能】给指定数组元素赋值。【说明】在Visual FoxPro 6.0 中,一个数组中的数

21、据不必是同一种数据类型。【例】 DECLARE B(2) B(1)=201 &B(1)的类型为数值型 B(2)=”张三” &B(2)的类型为字符型3.2 运算符与表达式表达式是Visual FoxPro中进行数据处理常用的手段,而表达式中的运算符则指定了参加运算的各种类型的数据完成哪种运算。3.2.1 运算符 运算是对数据进行加工处理的过程,标记各种不同加工处理的符号称为运算符,参加运算的数据称为操作数。根据操作数类型的不同,运算符可分为算术运算符、字符运算符、日期时间运算符、关系运算符、逻辑运算符等。1. 算术运算符 算术运算符用于处理数值型数据,运算结果仍为数值型。表3-1给出了算术运算符

22、及其优先级。若计算中包含有多个算术运算符时,运算规则是:先乘方,后乘除,再加减; 同一级别从左到右依次运算;如果有括号“()”,先计算括号内,后计算括号外。例如,包含多种算术运算符的式子(13+5)/32* 4,运算结果为8。2. 字符运算符 字符运算符用于对字符型数据进行处理,运算结果为字符型或逻辑型。字符运算符只有3个:“+”、“-”和“$”,如表3-2所示。3. 日期时间运算符 日期时间运算符对日期和日期时间型数据进行处理,日期(或日期时间)型数据加减一个整数,结果仍为日期(或日期时间)型,两个日期(或日期时间)型数据相减,结果为整数,如表3-3所示。4. 关系运算符 关系运算符主要用来

23、对两个同类型数据进行比较运算,运算结果为逻辑型,如表3-4所示。关系运算符的有关注意事项如下:关系运算符左右两端的数据必须是相同类型的数据,否则将导致语法错误。数值型数据按其数值大小进行比较。字符型数据的大小由字符比较方式(详见2.4.3节)决定。日期、日期时间型数据的大小是:日期早的其值小,日期晚的其值大。5. 逻辑运算符 逻辑运算符用于进行逻辑型数据的处理,运算结果仍为逻辑型,表3-5给出了逻辑运算符及优先级。表3-6给出了各种逻辑运算的规则。3.2.2 表达式所谓的表达式是指用Visual FoxPro运算符将若干运算量(常量、变量、数组元素、函数、字段名等)连接起来的“合法”的式子。无

24、论是在程序中还是在命令中,表达式具有运算功能,合法的表达式通过系统的计算会得到一个计算结果。根据表达式所处理数据的类型,表达式分为数值表达式、字符表达式、日期表达式、日期时间表达式、逻辑表达式。注意:单个的常量、变量、数组元素和函数本身是最简单的表达式。利用Visual FoxPro表达式进行数据处理时应注意以下几点:(1)若在一个表达式中含有多种运算符,书写表达式时需要注意它们的优先顺序。Visual FoxPro 6.0运算符的优先顺序下所示:算术运算符 字符运算符 比较运算符 逻辑运算符 (2)若同类型的多个运算符同时出现在表达式中,则遵循各自的优先规则;若优先规则相同,则按照其在表达式

25、中出现的先后顺序从左到右依次进行。(3)若需要改变表达式中运算符的优先顺序,则需要使用括号“()”。括号内的运算总是优先于括号外的运算,括号之内的运算符优先顺序不变。3.3 常用内部函数为了满足用户对数据处理上的要求,Visual Foxpro提供了一系列的内部函数, 极大地增强了系统的功能。Visual FoxPro中的内部函数实际上是把数据处理过程中经常用到的一系列操作预先编制好的程序代码,随系统提供,供 Visual FoxPro 程序、表达式、命令中调用,极大地增强了系统的功能。函数的一般形式如下所示:函数名(,)每个函数必须有一个函数名,且函数名后面必须跟一对圆括号,括号中可以有0n

26、个参数。函数根据用户所给定的参数,经过计算返回(得到)一个惟一的值,称为返回值。Visual FoxPro 6.0提供了大量的内部函数。按功能可分为数值处理函数、字符处理函数、日期时间函数、类型转换函数和测试函数等类型。3.3.1 数值处理函数 数值处理函数主要完成数值型数据的处理与计算,数值处理函数的返回值一般为数值型。常用的数值函数有:1平方根函数SQRT() 【格式】SQRT() 【功能】首先计算数值表达式的值,然后求平方根并将其作为函数的返回值。【说明】表达式的值必须为正数。 【例】?SQRT(24-8)&显示结果为:4.002取对值函数ABS() 【格式】 ABS()【功能】 计算数

27、值表达式的值并返回数值表达式的绝对值。【例】A=10B=30? ABS(2*A-B)&显示结果为:103取整函数INT 【格式】 INT() 【功能】 计算数值表达式并返回数值表达式值的整数部分。【例】 ? INT(28.48*2)&显示结果为:56? INT(-56.98)&显示结果为:-564四舍五入函数ROUND() 【格式】ROUND(,) 【功能】按指定的小数位数对的值进行四舍五入处理。 【说明】返回指定的在指定位置四舍五入后的结果。指定四舍五入的位置。若大于等于0,那么它表示的是要保留的小数位数;若小于0,那么它表示的是整数部分的舍入位数。【例】? ROUND(1234.8654,

28、2)&显示结果为:1234.87? ROUND(1234.8654,0)&显示结果为:1235? ROUND(1234.8654,-2)&显示结果为:12005 取余函数MOD()【格式】MOD(,) 【功能】返回两个数相除后的余数。 【说明】是被除数,是除数。余数的正负号与除数相同。若被除数与除数同号,则函数值即为两个数相除的余数;若被除数与除数异号,则函数值即为两个数相除的余数再加上除数的值。【例】?MOD(3*4,7)&显示结果为:5 ?MOD(7,-2) &显示结果为:-16 圆周率函数PI( )【格式】PI( ) 【功能】返回圆周率的值(数值型)。 【例】计算半径为2的圆面积:?2*

29、2*PI() &显示结果为:12.5664? 22*3.14 &显示结果为:12.567最大值函数MAX() 【格式】MAX(表达式1,表达式2,表达式n) 【功能】计算各表达式的值,并返回其中的最大值。 【说明】表达式1、表达式2、类型可以是数值型(N)、日期型(D)或字符型(C),但所有表达式的类型必须相同。【例】?MAX(12,45,76,3) &显示结果为:76?MAX(1999/12/01,1998/12/01) &显示结果为:12/01/99?MAX (“1”, “9”, ” a” ,“z”) &显示结果为:z8最小值函数MIN() 【格式】MIN(表达式1,表达式2,表达式N)

30、【功能】计算各表达式的值,并且返回表达式中的最小值。【说明】表达式1、表达式2、类型可以是数值型(N)、日期型(D)或字符型(C),但所有表达式的类型必须相同。【例】?MIN(12,45,76,3) &显示结果为:3?MIN(1999/12/01,1998/12/01) &显示结果为:12/01/98?MIN (“1”, “9”, ” a” ,“z”) &显示结果为:13.3.2 字符处理函数 字符处理是数据库应用中常用到的操作之一,Visual FoxPro 6.0 提供了大量的字符串处理函数。常用的字符串函数有:1子字符串查找函数AT | ATC() 【格式】AT | ATC(, ,) 【

31、功能】返回在中第次出现的位置。 【说明】若是的子串,则返回中的首字符在中的位置。 ATC与AT的功能类似,区别在于ATC函数不区分字母的大小写,返回值亦为数值型。指定在中第几次出现。缺省时,系统默认为1。 若在中未找到,则函数返回0。【例】? AT(as,As soon as possible)&显示结果为:9? AT(青大,青岛大学商学院) &显示结果为:0? AT(s,As soon as possible,2)&显示结果为:4? AT(学,青岛大学商学院,2) &显示结果为:11? ATC(as,As soon as possible,2) &显示结果为:12字符串长度测试函数LEN()

32、 【格式】LEN()【功能】返回字符表达式的长度值,即所包含的字符个数(字节数),函数的返回值为数值型。 【例】? LEN(Visual FoxPro 6.0)&显示结果为:17? LEN (青岛大学)&显示结果为:8注意:一个汉字占两个字节,字符串中的一个空格亦占一个字节3截取子字符串函数SUBSTR() 【格式】SUBSTR (,) 【功能】从中的位置开始取出个字符,函数的返回值为字符型数据,即子字符串。【说明】如果缺省,则返回从位置开始到最后的所有字符。【例】? SUBSTR(青岛大学,3,2)&显示结果为:岛? SUBSTR(Qingdao,3,2) &显示结果为:ng? SUBSTR

33、(青岛大学,5) &显示结果为:大学4左取或右取子字符串函数LEFT()|RIGHT() 【格式】LEFT | RIGHT(,)【功能】从最左边或最右边开始取出含有指定字符个数的子字符串。【说明】 参数以字节为单位,函数返回值为字符型数据。若的值大于的长度,返回;若的值0,则返回空字符串。【例】? LEFT(青岛大学,2)&显示结果为:青? LEFT(Qingdao,2) &显示结果为:Qi? RIGHT(青岛大学,2)&显示结果为:学 ? RIGHT (Qingdao,2) &显示结果为:ao5删除前导和尾随空格函数 【格式】LTRIM| RTRIM |TRIM()【功能】LTRIM删除的前

34、导空格,返回值仍为字符型;RTRIM |TRIM删除的尾部空格,返回值仍为字符型。【例】? 1+LTRIM( 2 )+3& 显示结果为:12 3? 1+RTRIM( 2 )+3& 显示结果为:1 236删除前导和尾随空格ALLTRIM() 【格式】ALLTRIM()【功能】删除的前导和尾部空格。 【例】? 1+ALLTRIM( 2 )+3& 显示结果为:1237产生空格字符串函数SPACE() 【格式】SPACE()【功能】返回包含个空格的字符串。 【例】? 1+ SPACE(2)+3& 显示结果为:1 38大小写转换函数UPPER| LOWER() 【格式】UPPER| LOWER()【功能

35、】UPPER将中的小写字母转换为大写字母,LOWER将中的大写字母转换为小写字母。 【例】?UPPER(“Visual”) &显示结果为:VISUAL?LOWER(“FoxPro”) &显示结果为:foxpro3.3.3 日期及日期时间函数 日期和日期时间函数对日期和日期时间数据进行处理,其参数一般是日期型数据或日期时间型数据。常用的函数有:1. 获取系统当前日期函数 【格式】DATE()【功能】返回系统当前日期,函数值为日期型。2. 获取系统当前时间函数 【格式】TIME()【功能】返回当前系统时间(24小时制),函数值为字符型。3. 获取系统当前日期时间函数 【格式】DATETIME()【

36、功能】返回系统当前日期和时间,函数值为日期时间型。4. 获取年号函数 【格式】YEAR( | )【功能】返回或中的年份值,函数值为数值型。【例】? YEAR(1999-02-12)&显示结果为:19995. 获取月份函数 【格式】MONTH( | )【功能】返回或中的月份值,函数值为数值型。【例】? MONTH(1999-02-12) &显示结果为:26. 获取日号函数 【格式】DAY( | )【功能】返回或中的日号,函数值为数值型。【例】?DAY(1999-02-12)&显示结果为:123.3.4 数据类型转换函数 数据处理过程中,经常要求进行不同类型的数据转换。类型转换函数的主要功能是将一

37、种类型的数据转换成另一种类型的数据。常用函数有:1. 字符转换为数值函数VAL() 【格式】VAL()【功能】将转换为数值型数据。【说明】 VAL函数按从左到右的顺序处理字符表达式,直到遇到一个非数值字符(不包括科学计数法指示符E)。 如果中的第一个字符不是数字,VAL函数将返回数值0。【例】?VAL(3.1415926PI36)&显示结果为:3.14?VAL ( 3.1415926e36)&显示结果为:3.14159260E+36?VAL (a36)&显示结果为:0.002数值转换为字符 【格式】STR( ,) 【功能】把的值转换为字符型数据,即字符串。【说明】 的值决定转换后的字符串总长度

38、(包括小数点),决定转换时要保留的小数位数。 如果的值大于的实际长度,则在数字串左边补充空格。 如果小于的实际长度,但大于等于的整数部分(包括负号)的长度,则优先满足整数部分而自动调整小数部分(四舍五入) 若值小于的整数部分长度,则函数将输出星号“*”。若缺省或同时缺省和,则函数只转换整数部分(包括负号)。 【例】? STR(356.14159,8,4)&显示结果为:356.1416? STR (356.14159,14,4)&显示结果为: 356.1416? STR (356.14159,5,4)&显示结果为:356.1? STR (356.14159,2,4)&显示结果为:*? STR(-

39、356.14159,8)&显示结果为: -356? STR(-356.14159)&显示结果为:-3563字符型转换为日期型函数 【格式】CTOD()【功能】把转换为日期型数据。【说明】 的格式可以是:“YY/MM/DD”、“YY-MM-DD”、“YY.MM.DD”,年份可以带有世纪,也可不带有世纪。 如果年份不带世纪,默认为当前世纪。【例】?YEAR(CTOD(1999/10/13) &显示结果为:19994日期型转换为字符型函数 【格式】DTOC( | ,1) 【功能】把或中的日期转换为字符串。 【说明】 缺省可选项1时,函数返回的字符格式为“MM/DD/YY”;选择可选项1时,返回的字符

40、格式为“YYYYMMDD”。 若设置了显示世纪(使用SET CENTURY ON命令),则年份用4位表示。 【例】? DTOC(2002/12/27) &显示结果为:12/27/02? DTOC (2002/12/27 15:20:38)&显示结果为:12/27/02? DTOC(2002/12/27,1)&显示结果为:20021227? DTOC(2002/12/27 15:20:38,1)&显示结果为:200212273.3.5 其他函数 除了前面介绍的几种类型函数外,Visual FoxPro中其他常用的函数还有逻辑函数IIF()、宏代换函数、文件操作函数、信息显示函数、空值测试函数等。1 逻辑函数IIF( ) 【格式】IIF(, , ) 【功能】根据的值,返回和值中的某一个。 【说明】 指定了要计算的逻辑表达式。若其值为.T.(真),则返回的值,否则返回的值。 函数的返回值类型可以是字符型、数值型、货币型、日期型或日期时间型等,取决于或的类型。 【例】x=5y=7z=IIF(xy,x-y,y-x) ?z &显示结果为22 宏替换函数 【格式】&. 【功能】替换出字符型变量的内容,即&的值是变量中的字符串。 【说明】&的作用是将字符型内存变量(包括数组元素)的内容替换出来

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁