《(精品)第2章VisualFoxPro数据基础.ppt》由会员分享,可在线阅读,更多相关《(精品)第2章VisualFoxPro数据基础.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章第二章 Visual FoxPro数据基础数据基础本章内容简介本章内容简介 Visual FoxPro作为一种基于关系模型的程序设计语言,具有完整的语法规则。作为一种基于关系模型的程序设计语言,具有完整的语法规则。本章主要介绍本章主要介绍Visual FoxPro基本的语言元素,包括变量(内存变量和字段变量)、基本的语言元素,包括变量(内存变量和字段变量)、常量、函数及表达式和表达式的运算规则等。常量、函数及表达式和表达式的运算规则等。学习目标学习目标 利用利用Visual FoxPro进行数据管理,除使用数据库外,还必须学会编写程序,要进行数据管理,除使用数据库外,还必须学会编写程序,
2、要编写程序就要会写语句,要会写语句就要掌握组成语句的基本元素。编写程序就要会写语句,要会写语句就要掌握组成语句的基本元素。学习切入点及方法学习切入点及方法 本章是编写程序和写表达式的基础,涉及的内容多而琐碎。学习时,应充分利本章是编写程序和写表达式的基础,涉及的内容多而琐碎。学习时,应充分利用交互工具用交互工具“命令命令”窗口,通过看书与操作结合的方式学习,不必死记硬背。窗口,通过看书与操作结合的方式学习,不必死记硬背。很多函数的功能、命令及表达式,可以通过在命令窗口操作来理解和加深记忆,从很多函数的功能、命令及表达式,可以通过在命令窗口操作来理解和加深记忆,从而灵活运用。而灵活运用。计划用学
3、时计划用学时 课堂讲授课堂讲授68学时,上机学时,上机68学时。学时。4/6/20231第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础2.1常量、变量及其数据类型常量、变量及其数据类型2.2 常用函数常用函数2.3 表达式与运算表达式与运算4/6/20232第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 常量:常量:是指程序运行是指程序运行过过程中其程中其值值保持不保持不变变的量的量(一个具体的、不一个具体的、不 变变的的值值。)1 1数值型常量数值型常量(Numeric)(Numeric)
4、数数值值型数据:型数据:由数字、小数点和正由数字、小数点和正负负号等号等组组成,包括整数、成,包括整数、小数、小数、负负数、浮点数、科学数、浮点数、科学计计数法表示的数等。数法表示的数等。数值型数据用来进行数学运算。如:140、0.33、-213、147.179、2E-8 等。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.1 2.1.1 常量常量4/6/20233第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 2 2字符型常量字符型常量(Character)(Character)字符型数据也称字符型数据也称为为字符串。字符串。通
5、常用来表示文本类型的信息,它由中英文字符、汉字、数字、空格和各种专用符号组成。字符型常量:字符型常量:是指用双引号是指用双引号“”“”、单单引号引号或方括号或方括号等定界符等定界符 括起来的字符串。括起来的字符串。定界符必须配对使用。定界符必须配对使用。如:“kunming”、昆明市、1234。如果一种定界符已作为字符型常量的组成部分,应当选择另一种定界符来标识字符串。例如字符串:昆明又称为“春城”2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.1 2.1.1 常量常量4/6/20234第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基
6、础 3 3逻辑型数据逻辑型数据(Logic)(Logic)逻辑逻辑型数据:型数据:表示表示逻辑逻辑判断判断结结果的果的值值。逻辑逻辑型数据只有两个型数据只有两个值值:TrueTrue(真)(真)False False(假)(假)逻辑逻辑真真可以表示可以表示为为 .T.T.、.t.t.、.Y.Y.或或.y.y.逻辑逻辑假假可以表示可以表示为为 .F.F.、.f.f.、.N.N.或或.n.n.(注意:前后两个点号是必需的。)(注意:前后两个点号是必需的。)在“命令”窗口输入?命令及表达式:?1534,477230&在主窗口中显示运算结果运算结果为:.F.T.2.1 常量、变量及其数据类型常量、变量
7、及其数据类型2.1.1 2.1.1 常量常量4/6/20235第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础4 4日期型日期型(Date)(Date)日期型数据:日期型数据:表示日期的特殊数据。表示日期的特殊数据。日期型常量必须用花括号括起来。(1 1)严严格日期格式格日期格式 格式格式为为:yyyy-mm-ddyyyy-mm-dd 如:2009-05-01或2009/05/01,表示2009年5月1日。这种格式的日期表明该日期是严格的,按照YMD的格式来解释日期和 日期时间,不受系统设置的影响,可以在任何情况下使用。日期型数据表示范日期型数
8、据表示范围围是:是:0001-01-010001-01-01至至9999-12-319999-12-31 (2 2)传统传统的日期格式的日期格式 系统默认的日期型数据为美国日期格式:“mm/dd/yymm/dd/yy”(月月/日日/年)年)月和日各为2位,而年可以是2位,也可以是4位,系统默认为2位。具体年代使用2位还是4位,由系统设置决定。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.1 2.1.1 常量常量4/6/20236第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础(3 3)影响日期格式的)影响日期格式的设设置命令和置命
9、令和选项选项 在日期格式中,系在日期格式中,系统统默默认认的分隔符的分隔符为为:斜杠(:斜杠(/)。)。SET SET MARK TO MARK TO 日期分隔符日期分隔符:可将分隔符设置成连字符(可将分隔符设置成连字符(-)或)或 点号点号 (.)等。)等。没有参数的SET MARK TO命令还原系统默认的分隔符。SET DATE TO SET DATE TO 日期格式日期格式:可将日期格式可将日期格式设设置成其他置成其他格式格式。如:SET DATE TOmdy命令将日期格式设置为月/日/年(mm/dd/yy)。SET STRICTDATE TO 0|1|2:设置是否对日期格式进行检查。设
10、置是否对日期格式进行检查。在不进行严格日期检查时,日期型可以用传统日期格式“年 /月/日”的形式来表示,定界符可以是花括号,年月日之间的 分隔符可以是斜杠(/)、连字符(-)和空格。SET CENTURY ON/OFF:设置年份使用设置年份使用4位或位或2位表示,默认为位表示,默认为2位。位。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.1 2.1.1 常量常量4/6/20237第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础日期格式的设置也可以选择日期格式的设置也可以选择“工具工具”菜单中的菜单中的“选项选项”命令来完成。命令来
11、完成。在在“区域区域”选项选项卡中卡中设置日期格式设置日期格式4/6/20238第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础5.5.日期时间型(日期时间型(DateTimeDateTime)日期型常量包括日期和日期型常量包括日期和时间时间两部分:两部分:,日期部分与日期型常量相似,也有严格和传统两种格式。时间时间部分的格式部分的格式为为:hh:mm:ssa|phh:mm:ssa|p。其中hh、mm和ss分别代表时、分和秒,默认值分别为12、0和0。AM (或A)和PM(或P)分别代表上午和下午,默认值为AM。如果指定的时 间大于12,则自然
12、为下午时间。6.6.货币型(货币型(CurrencyCurrency)货币型常量:货币型常量:用于表示货币值,是带货币单位的数据。其书写格式与数值型常量类似,但要在前面加上货币符号$。如:$123.45。在存储和计算时,采用4位小数,如果一个货币常量多于4位 小数,那么系统将在小数点后4位进行四舍五入。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.1 2.1.1 常量常量4/6/20239第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 变变量:量:在程序运行过程中,其值可以发生变化的量称为变量。Visual FoxProVisu
13、al FoxPro中有两中有两类变类变量量:每个每个变变量都有一个名字,可以通量都有一个名字,可以通过变过变量名量名访问变访问变量。量。给变给变量命名量命名时时,变变量名必量名必须须遵守以下原遵守以下原则则:1 1、必、必须须以字母或以字母或汉汉字开字开头头。2 2、变变量名中只能含有字母量名中只能含有字母(汉汉字字)、数字和下划、数字和下划线线。3 3、变变量名不能是保留字,如量名不能是保留字,如对对象名、系象名、系统预统预先定先定义义的函数名等。的函数名等。构成数据库表文件的字段变量构成数据库表文件的字段变量内存变量内存变量2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.2 2
14、.1.2 字段变量和内存变量字段变量和内存变量4/6/202310第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 2.1.2.1 2.1.2.1 字段变量字段变量 字段字段变变量:量:表中定义好的任一数据列,通过字段名作为变量名来标识字段变量。学号姓名性别出生日期专业入学成绩三好生20090102001刘鹏男1991-10-7传媒学610.F.20090102002杨莹女1991-11-20传媒学598.T.20090201001何小方男1990-3-13管理学567.F.20090203001周红女1991-2-11管理学655.F.200
15、90201003李艳女1991-1-21管理学587.T.20090102369张丽女1991-12-11传媒学639.F.20090301087马波男1991-12-29历史590.F.如如果果表表中中有有20条条记记录录,每每一一个个字字段段名名就就有有20个个可可取取值值。在在数数据据库库表表中中有有一一个个记记录录指指针针,它它指指向向的的记记录录定定义义为为当当前前记记录录,字字段段变变量量的的现现值值就就是是当当前前记记录录中中对对应应字字段段的的值值。记记录录指指针针可可以以移移动动,因因此此字字段段的的取取值值随随着着指指针针的的移移动动而而改改变变,所以字段(或者字段名)是变
16、量。所以字段(或者字段名)是变量。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.2 2.1.2 字段变量和内存变量字段变量和内存变量4/6/202311第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础数据类型说明字符型字母、数字型文本货币型货币单位数值型整数或小数浮动型整数或小数日期型年、月、日日期时间型年、月、日、时、分、秒双精度型双精度数值整型正、负整数和零逻辑型真或假备注型不定长的字母、数字文本通用型OLE(对象链接与嵌入)字符型(二进制)字母数字型文本备注型(二进制)不定长的字母数字型文本字段变量的数据类型及其说明字段变量
17、的数据类型及其说明4/6/202312第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 2.1.2.2 2.1.2.2 内存变量内存变量 内存内存变变量:量:内存中的一块存储区域,变量值就是存放在这个存 储区域里的数据,变量的类型取决于变量值的类型。对内存变量赋值可以改变其内容和类型。例如,当把一个数例如,当把一个数值值常量常量赋值给赋值给一个一个变变量量时时,这这个常量就被存入个常量就被存入 到到变变量中,它将取代量中,它将取代变变量的原量的原值值而成而成为该变为该变量新的取量新的取值值。特点:特点:是独立于数据库文件而存在的变量,用来存储数
18、据处理过程 中所需要的常数、中间结果和最终结果。还可以作为控制变 量,用来控制应用程序的运行。内存内存变变量量6 6种种类类型:型:字符型(字符型(C C)、)、数值型(数值型(N N)、)、逻辑型(逻辑型(L L)、)、日期型(日期型(D D)、)、日期时间型(日期时间型(T T)和货币型)和货币型 (Y Y)。)。内存变量由赋值语句定义,它的数据类型由赋值数据的类型决定。内存变量由赋值语句定义,它的数据类型由赋值数据的类型决定。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.2 2.1.2 字段变量和内存变量字段变量和内存变量4/6/202313第二章 Visual FoxPr
19、o数据基础第二章第二章 Visual FoxPro数据基础数据基础字段字段变变量和内存量和内存变变量的区量的区别别字段变量字段变量内存变量内存变量数据库表文件的组成部分独立于数据库文件而存在随表文件的定义而建立需要时随时定义有 C、N、D、L、M、G 等类型有 C、N、D、L、Y、T 等类型多值变量单值变量关机后保存在数据库表文件中关机后不保存,但可存入内存变量文件 如果在表中存在一个与内存变量同名的字段变量,则字段变量优先。如果在表中存在一个与内存变量同名的字段变量,则字段变量优先。如果要访问内存变量,则须在变量名前加上前缀如果要访问内存变量,则须在变量名前加上前缀M.M.或者或者M-M-,
20、否则系否则系 统将访问同名的字段变量。统将访问同名的字段变量。4/6/202314第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础2.1.2.2 2.1.2.2 内存变量内存变量 1 1、内存变量赋值命令、内存变量赋值命令 给给内存内存变变量量赋值赋值命令有命令有“=”=”、STORESTORE等。等。使用使用“=”=”给变给变量量赋值时赋值时,一次只能,一次只能给给一个一个变变量量赋值赋值,而,而STORE 命令可以同命令可以同时给时给多个多个变变量量赋赋相同的相同的值值,各内存,各内存变变量名之量名之间间用逗号分开。用逗号分开。2 2、表达
21、式值、表达式值的的显示命令显示命令?和和?命令可以在命令可以在Visual FoxProVisual FoxPro的主窗口中的主窗口中显显示表达式的示表达式的值值。?命令与命令与?命令的作用相同,它命令的作用相同,它们们的区的区别别是是:?命令从光标当前行的下一行开始显示,即换行输出;?命 令在当前光标位置开始显示,即同行输出,?命令紧接上一个 显示位置输出表达式的值。当?命令后面没有任何表达式时,输 出一个空行。?命令与?命令的各个输出项之间用逗号(,)分隔。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.2 2.1.2 字段变量和内存变量字段变量和内存变量4/6/202315第
22、二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 3 3、内存变量显示命令内存变量显示命令 格式:格式:LIST MEMORY LIKELIST MEMORY LIKETO PRINT|TO FILETO PRINT|TO FILE 或:或:DISPLAY MEMORY LIKEDISPLAY MEMORY LIKETO PRINT|TO FILETO PRINT|TO FILE 4 4、内存变量的清除、内存变量的清除 格式:格式:CLEAR MEMORY CLEAR MEMORY 或:或:RELEASE RELEASE 或:或:RELEASE
23、ALL LIKERELEASE ALL LIKE|EXCEPT|EXCEPT 第一种格式清除所有内存变量,其余格式清除指定的内存变量。第一种格式清除所有内存变量,其余格式清除指定的内存变量。RELEASE ALL LIKE X*表示只清除变量名以表示只清除变量名以X开头的所有内存变量。开头的所有内存变量。RELEASE ALL EXCEPT X*表示清除除了以表示清除除了以X开头的变量以外的所有内存变开头的变量以外的所有内存变量,(保留以量,(保留以X开头的所有内存变量)。开头的所有内存变量)。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.2 2.1.2 字段变量和内存变量字段变
24、量和内存变量4/6/202316第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 2.1.2.3 2.1.2.3 数组数组 数数组组:是一批数据的有序集合,数是一批数据的有序集合,数组组中的每一个数据称中的每一个数据称为为一个数一个数组组元素。每一个元素。每一个数数组组元素相当于一个内存元素相当于一个内存变变量与数量与数组组相比,内存相比,内存变变量又称量又称为简单变为简单变量。与量。与简单简单内存内存变变量量不同,数不同,数组组必必须须先定先定义义后使用。后使用。1 1、数组的定义、数组的定义 格式:格式:DECLARE DECLARE(,)
25、,),(,)2)或:或:DIMENSION DIMENSION(,),),(,)2)两种格式功能相同。定义时将规定数组是一维或二维数组,数组名和大小。大小 由下标值的上、下限决定,下限规定为1。每个数组最多可以包含3600个元素。数数组创组创建后,在建后,在赋值赋值前,系前,系统统自自动给动给每个数每个数组组元素元素赋值为逻辑赋值为逻辑假(假(.F.F.)。)。整个数组的数据类型为A(Array),使用时可以给各个元素分别赋值,一个 数组中各元素的数据类型可以不同,数组元素可以是任意类型的数据,其数据类 型由对该变量的赋值决定。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.2 2
26、.1.2 字段变量和内存变量字段变量和内存变量4/6/202317第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础2 2、数组的使用、数组的使用 数数组组定定义义后,数后,数组组中每个元素就可以像内存中每个元素就可以像内存变变量一量一样样使用。数使用。数组组 元素元素赋值赋值与内存与内存变变量量赋值赋值一一样样,可用,可用 STORE STORE 命令命令赋赋初初值值。格式格式:STORE:STORE TO TO =功能功能:给给数数组组中每个数中每个数组组元素元素赋赋以相同的以相同的值值。在使用数在使用数组时应组时应注意:注意:(1 1)在同
27、一运行)在同一运行环环境,数境,数组组名不能与名不能与简单变简单变量名相同。量名相同。(2 2)可以用一)可以用一维维数数组组的形式的形式访问访问二二维维数数组组。例如,dimension y(2,3)定义的数组中的元素y(1,1),y(1,2),y(1,3),y(2,1),y(2,2),y(2,3)用一维数组形式可以依次表示为:y(1)、y(2)、y(3)、y(4)、y(5)、y(6)。其中y(4)与y(2,1)是同一变量。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.2 2.1.2 字段变量和内存变量字段变量和内存变量4/6/202318第二章 Visual FoxPro数据
28、基础第二章第二章 Visual FoxPro数据基础数据基础 2.1.2.4 2.1.2.4 用字段变量给数组赋值用字段变量给数组赋值 格式格式:SCATTER FIELDS:SCATTER FIELDS TO TO 功能功能:将当前表文件的当前将当前表文件的当前记录记录各字段各字段值赋给值赋给数数组组各元素。各元素。如果无如果无 FIELDS FIELDS 选项选项,则则按按记录记录中字段的先后中字段的先后顺顺序序传传 送所有字段送所有字段(备备注字段和通用字段除外注字段和通用字段除外),否,否则则按按 指定字段指定字段顺顺 序序传传送。送。字段的字段的类类型决定了数型决定了数组变组变量的量
29、的类类型。型。如果数如果数组组元素个数多于元素个数多于传传送字段数,送字段数,则则剩余的数剩余的数组组元素元素值值不不变变,否,否 则则系系统统将自将自动动增加数增加数组组元素个数。元素个数。例如:打开例如:打开“基本信息基本信息”表文件,当前表文件,当前记录为记录为第一条第一条记录记录,将它复制到,将它复制到 数数组组RSRS中。中。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.2 2.1.2 字段变量和内存变量字段变量和内存变量4/6/202319第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 2.1.2.5 2.1.2.5
30、 用数组数据替换当前记录的字段值用数组数据替换当前记录的字段值 格式格式:GATHER FROM:GATHER FROM FIELDS FIELDS 功能功能:用数用数组组元素的元素的值顺值顺序替序替换换当前表文件的当前当前表文件的当前记录记录各字段的各字段的值值。若无若无 FIELDS FIELDS 选项选项,则则按数按数组组元素的元素的顺顺序从左到右地填序从左到右地填 入当前入当前记录记录的每一个字段中的每一个字段中(备备注字段和通用字段除外注字段和通用字段除外),否,否则则按按 指定字段填入。指定字段填入。若数若数组组元素个数少于字段数,元素个数少于字段数,则则当前当前记录记录中其余的字
31、段中其余的字段值值不受影响;不受影响;反之剩余的数反之剩余的数组组元素不替元素不替换换。例如,打开表文件,定例如,打开表文件,定义义数数组组,用数,用数组组中的中的值值填入表中。填入表中。2.1 常量、变量及其数据类型常量、变量及其数据类型2.1.2 2.1.2 字段变量和内存变量字段变量和内存变量4/6/202320第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 函数:函数:是用来实现一种数据运算或转换的一段程序。每个函数都有特是用来实现一种数据运算或转换的一段程序。每个函数都有特 定的运算功能或转换功能。定的运算功能或转换功能。函数按功能
32、分为:函数按功能分为:数值运算函数、字符处理函数、日期函数、数据类数值运算函数、字符处理函数、日期函数、数据类 型转换函数、测试函数等型转换函数、测试函数等。与数学函数一样,自变量称为与数学函数一样,自变量称为参数参数,对于合法的参,对于合法的参 数,函数必有一个运算结果,称为数,函数必有一个运算结果,称为函数值或返回值函数值或返回值。函数的一般形式是:函数的一般形式是:(参数表参数表)在使用函数时应注意以下几个问题:在使用函数时应注意以下几个问题:(1)所有函数名必须跟随有圆括号,无论函数是否需要参数(宏代换函数&除外)。(2)每个函数必然有一个返回值,返回值有确定的数据类型。函数可作为表达
33、式的组成部分,在组成表达式时,需特别注意类型的匹配。(3)传送给函数的参数也有一定的数据类型,必须按要求的数据类型传送参数值。2.2 2.2 常用函数常用函数4/6/202321第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 数值函数:数值函数:通常是指函数的返回值为数值的一类函数。1.1.取绝对值函数取绝对值函数 ABS()ABS()格式格式:ABS()功能功能:求出求出的绝对值的绝对值。例:例:?ABS(-56),ABS(70-80)56 10 2.2.符号函数符号函数 SIGN()SIGN()格式:格式:SIGN()功能:返回数值表达式
34、的符号,当数值表达式的运算结功能:返回数值表达式的符号,当数值表达式的运算结 果为正、负和零时,函数值分别为果为正、负和零时,函数值分别为1、-1和和0。例:例:STORE 77 TO X?SIGN(60-X),SIGN(90-X)-1 12.2 2.2 常用函数常用函数2.2.1 2.2.1 数值函数数值函数4/6/202322第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础3.3.取整函数取整函数 INT()INT()格式:格式:INT()功能:返回功能:返回值的整数部分。值的整数部分。例:例:?INT(40.5),INT(-40.5)40
35、 -404.4.最大值函数最大值函数 MAX()MAX()格式:格式:MAX(,)功能:求两个功能:求两个的最大值。两个的最大值。两个中的较近日期。中的较近日期。例:例:?MAX(778.8,190.5),MAX(-35,-67)778.8 -35.005.5.最小值函数最小值函数 MIN()MIN()格式格式:MIN(,)功能功能:求两个求两个中最小值。两个中最小值。两个中的较远日期。中的较远日期。2.2 2.2 常用函数常用函数2.2.1 2.2.1 数值函数数值函数4/6/202323第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础6.6
36、.求平方根函数求平方根函数SQRT()SQRT()格式:格式:SQRT()功能:返回指定表达式的平方根。自变量表达式的值不能为负。功能:返回指定表达式的平方根。自变量表达式的值不能为负。例:例:?SQRT(67),SQRT(9),SQRT(7-5)8.19 3.00 1.417.7.四舍五入函数四舍五入函数 ROUND()ROUND()格式:格式:ROUND(,)功能:返回指定表达式在指定位置四舍五入后的结果。功能:返回指定表达式在指定位置四舍五入后的结果。指明四舍五入的位置。若指明四舍五入的位置。若大于或大于或 等于等于0,表示要保留的小数位数;若,表示要保留的小数位数;若小于小于0,表示的
37、是,表示的是 对整数部分进行四舍五入。对整数部分进行四舍五入。例:例:?ROUND(56.785,2),ROUND(1.455,0),ROUND(56,-1),ROUND(-3.141,2)56.79 1 60 -3.142.2 2.2 常用函数常用函数2.2.1 2.2.1 数值函数数值函数4/6/202324第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础8.8.求余数函数求余数函数 MOD()MOD()格式:格式:MOD(,)功能:返回两个数值相除后的余数值。功能:返回两个数值相除后的余数值。是被除数,是除数。如果被除数与除数同号,那么函
38、数值即为两数相除的余数;如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。例:例:?MOD(10,3),MOD(-10,3),MOD(10,-3),MOD(-10,-3)1 2 -2 -1?MOD(15,4),MOD(-15,-4),MOD(-15,4),MOD(15,-4)3 -3 1 -12.2 2.2 常用函数常用函数2.2.1 2.2.1 数值函数数值函数4/6/202325第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础字符函数:字符函数:通常是指自变量即参数是字符型的函数。1.1.求子串函数求子串函数 SUBSTR()S
39、UBSTR()格式:格式:SUBSTR(,)功能:在功能:在的字符串中,从的字符串中,从开始取出开始取出 所指定的字符。若省略第三个自变量所指定的字符。若省略第三个自变量,则从指定位置一直取到最后一个字符。则从指定位置一直取到最后一个字符。例:例:?SUBSTR(yunnan university,8,10)university?SUBSTR(我们是学生我们是学生,7)学生学生 2.2.从左端取子串函数从左端取子串函数LEFT()LEFT()格式:格式:LEFT(,)功能:从指定表达式的左端取出由功能:从指定表达式的左端取出由给出的指定长度的子串。给出的指定长度的子串。例:例:?LEFT(至公
40、天下至公天下,4)至公至公 2.2 2.2 常用函数常用函数2.2.2 2.2.2 字符函数字符函数4/6/202326第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础3 3从右端取子串函数从右端取子串函数RIGHT()RIGHT()格式:格式:RIGHT(,)功能:从指定表达式的右端取出由功能:从指定表达式的右端取出由给出的指定长度的子串。给出的指定长度的子串。例:例:?RIGHT(会泽百家会泽百家,4)百家百家4 4小写转大写函数小写转大写函数 UPPER()UPPER()和大写转小写函数和大写转小写函数 LOWER()LOWER()格式:
41、格式:UPPER()LOWER()功能:功能:UPPER()函数将字符表达式中所有小写字母转换成大写字母。()函数将字符表达式中所有小写字母转换成大写字母。LOWER()函数将字符表达式中所有大写字母转换成小写字母。()函数将字符表达式中所有大写字母转换成小写字母。例:例:?UPPER(computer)COMPUTER?LOWER(OPERATION SYSTEM)operation system2.2 2.2 常用函数常用函数2.2.2 2.2.2 字符函数字符函数4/6/202327第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础5.5.
42、求字符串长度函数求字符串长度函数LEN()LEN()格式:格式:LEN()功能:返回指定字符表达式值的长度,即所包含的字符个数。函数值功能:返回指定字符表达式值的长度,即所包含的字符个数。函数值 为数值型。为数值型。例:例:?LEN(Unix 操作系统操作系统)136 6删除字符串前后空格的函数删除字符串前后空格的函数格式:格式:TRIM()LTRIM()ALLTRIM()功能:功能:TRIM()返回指定字符表达式去掉尾部空格后得到的字符串。返回指定字符表达式去掉尾部空格后得到的字符串。LTRIM()返回指定字符表达式去掉前面空格后得到的字符串。ALLTRIM()返回指定字符表达式去掉前面和尾
43、部空格后得到的字符串。例:例:?TRIM(Visual FoxPro )Visual FoxPro 2.2 2.2 常用函数常用函数2.2.2 2.2.2 字符函数字符函数4/6/202328第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础7 7求子串出现位置函数求子串出现位置函数AT()AT()格式:格式:AT(,)功能:如果功能:如果是是的子串,则返回的子串,则返回的首字符在的首字符在中的位置,若不是子中的位置,若不是子 串,则返回串,则返回0。函数的返回值为数值型。函数的返回值为数值型。另有一个另有一个ATC()函数,与函数,与AT()功
44、能类似,但在子串比较时不区分大小写。功能类似,但在子串比较时不区分大小写。表明在表明在中搜索中搜索第几次出现,第几次出现,默认值为默认值为1。例:例:?AT(Fox,Visual FoxPro),AT(Fox,Visual FoxPro,1),AT(Fox,Visual FoxPro,2)8 8 02.2 2.2 常用函数常用函数2.2.2 2.2.2 字符函数字符函数4/6/202329第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础8.8.字符串匹配函数字符串匹配函数LIKELIKE格式:格式:LIKE(,)功能:比较两个字符串对应位置上的
45、字符,若所有对应字符功能:比较两个字符串对应位置上的字符,若所有对应字符 都相匹配,函数返回逻辑真都相匹配,函数返回逻辑真(.T.),否则返回逻辑假,否则返回逻辑假 (.F.)。中可以包含通配符*和?。*可以与任何数目的字符相匹配,?可以与任何单个字符匹配。例:例:x=we are y=happy?LIKE(we*,x),LIKE(w?,x),LIKE(y,x),LIKE(h*,y).T.F.F.T.2.2 2.2 常用函数常用函数2.2.2 2.2.2 字符函数字符函数4/6/202330第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础 日期
46、和时间函数:日期和时间函数:是指自变量通常是日期型或日期时间型数据。是指自变量通常是日期型或日期时间型数据。1.1.时间函数时间函数 TIME()TIME()格式:格式:TIME()功能功能:以以“时时:分分:秒秒”(hh:mm:ss)格式返回当前系统时间,函数值为字格式返回当前系统时间,函数值为字符型。符型。例例:如果当时的系统时间是上午如果当时的系统时间是上午11时时25分分17秒,则有秒,则有:?TIME()11:23:17 如果提供任意数值作为自变量,则返回的时间精度为百分之一秒。如果提供任意数值作为自变量,则返回的时间精度为百分之一秒。?TIME(4)11:23:17.33 2.2
47、2.2 常用函数常用函数2.2.3 2.2.3 日期和时间函数日期和时间函数4/6/202331第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础2.2.日期函数日期函数 DATE()DATE()格式格式:DATE()功能功能:返回当前系统日期,返回值为日期型。如果不通过返回当前系统日期,返回值为日期型。如果不通过 SET DATE 命令特别设置,系统日期的格式为:月命令特别设置,系统日期的格式为:月/日日/年年(MM/DD/YY)。例例:如果今天的系统日期是如果今天的系统日期是 2004年年2月月11日,则有日,则有:?DATE()02/11/
48、04 3.3.日期时间函数日期时间函数 DATETIME()DATETIME()格式格式:DATETIME()功能功能:返回当前系统日期时间,返回值为日期时间型。返回当前系统日期时间,返回值为日期时间型。例例:如果今天的系统日期是如果今天的系统日期是 2004年年2月月11日,上午日,上午11时时25分分17秒,则有秒,则有:?DATETIME()02/11/04 11:25:17 AM2.2 2.2 常用函数常用函数2.2.3 2.2.3 日期和时间函数日期和时间函数4/6/202332第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础4.4.
49、取年份、月份和日期函数取年份、月份和日期函数YEAR()YEAR()、MONTH()MONTH()和和DAY()DAY()格式:格式:YEAR(|)MONTH(|)DAY(|)功能:功能:YEAR()从指定的日期表达式或日期时间表达式中返回年份。从指定的日期表达式或日期时间表达式中返回年份。MONTH()从指定的日期表达式或日期时间表达式中返回月份。从指定的日期表达式或日期时间表达式中返回月份。DAY()从指定的日期表达式或日期时间表达式中返回月份的日期。从指定的日期表达式或日期时间表达式中返回月份的日期。例:例:STORE 2009-12-25 TO D?YEAR(D),MONTH(D),D
50、AY(D)2009 12 25 如果当前系统日期是如果当前系统日期是2009年年1月月1日,则:日,则:?YEAR(DATE(),MONTH(DATE(),DAY(DATE()2009 1 1返回值均为数值型。返回值均为数值型。2.2 2.2 常用函数常用函数2.2.3 2.2.3 日期和时间函数日期和时间函数4/6/202333第二章 Visual FoxPro数据基础第二章第二章 Visual FoxPro数据基础数据基础1.1.字符型转换成日期型函数字符型转换成日期型函数 CTOD()CTOD()格式:格式:CTOD()功能:将功能:将中的日期格式的字符串转换为日期型数据。中的日期格式的