书签 分享 收藏 举报 版权申诉 / 93
上传文档赚钱

类型数据库管理系统课件第2章.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2775133
  • 上传时间:2022-05-25
  • 格式:PPT
  • 页数:93
  • 大小:746.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《数据库管理系统课件第2章.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    数据库 管理 系统 课件
    资源描述:

    1、1 第第2 2章章 数据与数据运算数据与数据运算2.1 数据与数据类型数据与数据类型2.2 常用常用函数函数2.3 表达式表达式2.4 Visual FoxPro 命令命令2 数据有许多重要的属性,包括数据类型,完整性约束等,数据有许多重要的属性,包括数据类型,完整性约束等,其中首先关心的是数据类型。因为其中首先关心的是数据类型。因为数据处理的基本原则是对相数据处理的基本原则是对相同类型的数据才能进行操作同类型的数据才能进行操作,违反了这条原则,就会发生错误,违反了这条原则,就会发生错误。 Visual FoxPro中常量、变量、函数及表达式的数据中常量、变量、函数及表达式的数据类型有类型有6

    2、种:种:字符型字符型、数值型数值型、逻辑型逻辑型、日期型日期型、日期时间型日期时间型、货币型货币型。 本节引入了数据容器的概念本节引入了数据容器的概念。数据容器:。数据容器:用户存放数据的用户存放数据的地方。例如常量、变量、数组、记录、对象,等等。地方。例如常量、变量、数组、记录、对象,等等。2.1.1 常量常量 常量:在程序运行的过程中其值固定不变的量常量:在程序运行的过程中其值固定不变的量称为常量称为常量。 常量用来表示一个具体的、不变的值。常量有常量用来表示一个具体的、不变的值。常量有6种数据类型:种数据类型: 2.1 数据与数据类型数据与数据类型31. 字符型字符型( (Charact

    3、er)Character)通常用来表示文本类型的信息。由中英文字符、数字、通常用来表示文本类型的信息。由中英文字符、数字、空格和各种专用符号组成。两个或两个以上字符型数据的空格和各种专用符号组成。两个或两个以上字符型数据的组合称为组合称为字符串。用定界符括起来的字符串即为字符型常字符串。用定界符括起来的字符串即为字符型常量。定界符规定为量。定界符规定为: , , 。如果一种定界符已作为字如果一种定界符已作为字符型常量的组成部分符型常量的组成部分, 应当选择另一种定界符来标识字符串。应当选择另一种定界符来标识字符串。 字符型数据如字符型数据如: “STRING”、昆明市昆明市、 123。例例2

    4、2.1.1 显示字符型常量显示字符型常量在命令窗口键入并执行如下命令:在命令窗口键入并执行如下命令:?用定界符括起来的用定界符括起来的+ + 字符串字符串+即为字符型常量即为字符型常量 在主屏幕上显示结果如下:在主屏幕上显示结果如下:用定界符括起来的用定界符括起来的 字符串即为字符型常量字符串即为字符型常量42 2数值型数值型( (Numeric)Numeric) 数值型数据用来表示一个数量的大小数值型数据用来表示一个数量的大小, 由数字、小数点由数字、小数点和正负号等组成,包括整数(和正负号等组成,包括整数(1268)、小数()、小数(0.38)、负数)、负数(-112)、浮点数()、浮点数

    5、(148.931)科学计算数()科学计算数(1.2E-8)等。数等。数值型数据用来进行数学运算。值型数据用来进行数学运算。 数值型数据在内存中用数值型数据在内存中用8个字节表示,其取值范围是个字节表示,其取值范围是: :0.9999999999E+200.9999999999E+20。3 3逻辑型逻辑型( (Logic)Logic) 表示逻辑判断结果的值。表示逻辑判断结果的值。逻辑型数据只有两个值:逻辑逻辑型数据只有两个值:逻辑值真值真True(用用.T.或或.y.表示)表示) 或逻辑值假或逻辑值假False(用用.F.或或.n.表表示)。如表达式示)。如表达式34的运算结果为:的运算结果为:

    6、.F.例例2 2.2.2 在命令窗口键入并执行如下命令:在命令窗口键入并执行如下命令: ?3454 4日期型日期型( (Date)Date)日期数据是表示日期的特殊数据,日期型常量必须用一日期数据是表示日期的特殊数据,日期型常量必须用一对花括号对花括号”“和和”作为定界符作为定界符, 花括号中包含用分割符花括号中包含用分割符”-”、“/”、“.”分隔的年、月、日三部分内容。其格式分分隔的年、月、日三部分内容。其格式分为为传统格式传统格式和和严格格式严格格式两种:两种:传统格式传统格式: mm/dd/yy 系统默认的日期型格式为美国系统默认的日期型格式为美国格式:格式:月月/日日/年年, 即以即

    7、以mm/dd/yy的形式来表示。传统的的形式来表示。传统的日期型格式要受到命令语句日期型格式要受到命令语句: SET DATE TO 和和SET CENTURY的影响。的影响。严格日期格式严格日期格式常量以常量以yyyy-mm-dd的形式来表示,的形式来表示,且花括号中第一个字符必须是且花括号中第一个字符必须是,年份为,年份为4位数。如位数。如2006-10-01表示表示2006年年10月月1日。日。6例例2.3 在命令窗口输入如下命令在命令窗口输入如下命令?2006-10-01,10-01-06执行结果为:执行结果为:.10/01/2006 10/01/20065.5.日期时间型(日期时间型

    8、(DateTimeDateTime) )日期和时间数据是表示日期和时间的特殊数据日期和时间数据是表示日期和时间的特殊数据. 日期时间型日期时间型数据的取值范围是:日期为数据的取值范围是:日期为01/01/0001 12/31/9999,时间为,时间为00 00 0023 59 59.在在传统格式传统格式中,系统默认的日期时间型以中,系统默认的日期时间型以月月/日日/年年 时时:分分:秒秒 a|p的形式来表示。的形式来表示。严格格式严格格式的日期时间型常量以的日期时间型常量以yyyy-mm-dd hh:mm:ss a|p的形式来表示,其中的形式来表示,其中a a和和p p分别表示上午和下午,如分

    9、别表示上午和下午,如2005-12-22 10:30:20 2005-12-22 10:30:20 pp表示表示20052005年年1212月月2222日晚上日晚上1010点点3030分分2020秒。秒。7例例2 2.4.4 在命令窗口输入如下命令在命令窗口输入如下命令?2005-12-22 10:30:20 p,12-22-05 10:30:20 p执行结果为:执行结果为:12/22/2005 10:30:20 12/22/2005 10:30:20 pm pm 12/22/2005 10:30:20 12/22/2005 10:30:20 pmpm6.6.货币型(货币型(CurrencyC

    10、urrency)货币单位数据,数字前加前置符号货币单位数据,数字前加前置符号”$”。货币型数据在存储和计算时,采用货币型数据在存储和计算时,采用4位小数,并将多余位小数,并将多余4位的小数四舍五入位的小数四舍五入。如。如$123.45678,将存储为,将存储为$123.4568。货币常量不用科学记数法形式,在内存中占货币常量不用科学记数法形式,在内存中占8个字节,取个字节,取值范围是:值范围是:922337203685477.5807922337203685477.5807。 82.1.2 变量变量 在程序运行过程中,其值可以发生变化的量称为变量在程序运行过程中,其值可以发生变化的量称为变量。

    11、变量的值是可以随时更改的。变量的值是可以随时更改的。 Visual FoxPro中有两类变量:一类是构成数据库表的中有两类变量:一类是构成数据库表的字字段名变量段名变量,另一类是独立于数据库以外的,另一类是独立于数据库以外的内存变量内存变量。 给变量命名时,变量名应遵守以下原则:给变量命名时,变量名应遵守以下原则: 以字母、汉字或下划线开头;以字母、汉字或下划线开头;变量名中只能含有字母变量名中只能含有字母( (汉字汉字) )、数字和下划线;、数字和下划线;变量名不能是变量名不能是Visual FoxProVisual FoxPro的保留字,如对象名、系统预的保留字,如对象名、系统预先定义的函

    12、数名等。先定义的函数名等。91. 1. 字段变量字段变量:数据库表中定义的字段名数据库表中定义的字段名。字段名变量是指数据表文件中已定义好的任一数据项字段名变量是指数据表文件中已定义好的任一数据项。在。在数据表中有一个记录指针,由它指向的记录定义为当前记录,数据表中有一个记录指针,由它指向的记录定义为当前记录,字段名变量的值随着记录指针的移动而改变,如果一个数据字段名变量的值随着记录指针的移动而改变,如果一个数据表中有表中有20条记录,则每一个字段名就有条记录,则每一个字段名就有20个可取值。个可取值。 字段名变量的数据类型分为字段名变量的数据类型分为1313类,见表类,见表2.12.1所示。

    13、所示。10表表2.1 2.1 字段名变量的数据类型字段名变量的数据类型类型名称类型名称 说明说明 内存大小内存大小 应用举例应用举例 字符型(Character) 数字、字母、符号 1254 姓名、住址货币型(currencY) 货币单位 8 存款、价格数值型(Numeric) 整数、小数 8 考试成绩浮点型(Float) 同数值型 8 日期型(Date) 年月日 8 参加工作时间日期时间型 年月日时分秒 8 上班时间 (DateTime)整型(Integer) 无小数点数 4 单位人数双精度型(DouBle) 双精度数 8逻辑型(Logical) 真或假 1 作业完成否通用型(General

    14、) OLE(对象链接与嵌入) 4 EXCEL表格、图片备注型(Memo) 文本 4 人员简历、产品简介注注:整型数据整型数据的范围是:-2147483647 2147483647;浮点型、双精度型数据浮点型、双精度型数据的范围是:4.94065645841247E-3248.9884656743115E370数值型数据数值型数据的范围是:-0.9999999999E+200.9999999999E+20112. 2. 内存变量内存变量( (不依赖数据表而独立存在的变量不依赖数据表而独立存在的变量) )内存变量是内存中的一个存储单元内存变量是内存中的一个存储单元,这个存储单元中存,这个存储单元中

    15、存放的数据就是内存变量的值。放的数据就是内存变量的值。内存变量由赋值语句定义,它内存变量由赋值语句定义,它的数据类型取决于赋值数据的类型。的数据类型取决于赋值数据的类型。内存变量是独立于数据库文件而存在的变量,用来存储内存变量是独立于数据库文件而存在的变量,用来存储数据处理过程中所需要的中间结果和最终结果。它参与计算数据处理过程中所需要的中间结果和最终结果。它参与计算处理,还可以作为控制变量,处理,还可以作为控制变量, 用来控制应用程序的运行。内用来控制应用程序的运行。内存变量是一种临时工作单元,需要时可以临时定义,不需要存变量是一种临时工作单元,需要时可以临时定义,不需要时可以随时释放。时可

    16、以随时释放。 内存变量共分为内存变量共分为6种类型:字符型(种类型:字符型(C)、数值型()、数值型(N)、)、逻辑型(逻辑型(L)、日期型()、日期型(D)、日期时间型()、日期时间型(T)和货币型)和货币型(Y)。)。 (字段变量和内存变量的区别见下(字段变量和内存变量的区别见下 表表2.2)12表表2.2 2.2 字段变量和内存变量的区别字段变量和内存变量的区别字段变量字段变量 内存变量内存变量 数据库表文件的组成部分数据库表文件的组成部分 独立于数据库表文件而存在独立于数据库表文件而存在随表文件的定义而建立随表文件的定义而建立需要时随时定义需要时随时定义有有C,N,D,L,M,G等等1

    17、3种类型种类型有有 C,N,L,D,T,Y等类型等类型多值变量多值变量单值变量单值变量 关机后保存在数据库表文件中关机后保存在数据库表文件中关机后不保存(可预先存入内存变量关机后不保存(可预先存入内存变量文件中文件中 )注:给内存变量赋值的常用命令有:注:给内存变量赋值的常用命令有:= , store, input, wait, accept 系统变量系统变量是是Visual FoxPro系统特有的内存变量系统特有的内存变量; 系统变量名系统变量名都是以下划线开始,它与一般变量有相同的使用方法都是以下划线开始,它与一般变量有相同的使用方法; 在定义内在定义内存变量和数组变量名时,不要以下划线开

    18、始,以免与系统变量名存变量和数组变量名时,不要以下划线开始,以免与系统变量名冲突。冲突。 如主窗口屏幕可通过系统变量如主窗口屏幕可通过系统变量_SCREEN的属性进行设置:的属性进行设置: _SCREEN.fontName=黑体黑体 _SCREEN.fontSize=1613例例2.5 变量赋值与运算示例。变量赋值与运算示例。 在命令窗口中输入并执行如下命令:在命令窗口中输入并执行如下命令:X=8STORE 2 TO Y,Z,W? X+Y10S=“中国中国.”STORE “昆明昆明” TO T?S+T中国中国.昆明昆明142.1.3 数组数组数组是一批数据的有序集合,数组中的每一个数据称为一数

    19、组是一批数据的有序集合,数组中的每一个数据称为一个数组元素。个数组元素。在在Visual FoxPro中中, 数组元素均为内存变量。数数组元素均为内存变量。数组必须先定义后使用。组必须先定义后使用。1. 数组的定义数组的定义格式:格式:DIMENSION ( ,2) , ( ,2) DECLARE ( ,2), ( ,2) 功能:定义一维或二维数组。数组名为一个内存变量,每功能:定义一维或二维数组。数组名为一个内存变量,每个数组最多可包含个数组最多可包含3600个元素,数组的下标(数值表达式)个元素,数组的下标(数值表达式)值最小为值最小为1。使用数组时应注意数组元素的排列次序。使用数组时应注

    20、意数组元素的排列次序。要特别注意要特别注意15例例2.6 定义数组示例定义数组示例在命令窗口输入如下命令:在命令窗口输入如下命令:DECLARE A(3), B( 2, 3)其执行结果:其执行结果:该命令定义了一维数组该命令定义了一维数组A(3)和二维数组和二维数组B(2, 3):一维数组一维数组A(3)有三个元素,分别表示为:有三个元素,分别表示为:A(1)、A(2)、A(3)。 二维数组二维数组B(2, 3)有六个元素,分别表示为:有六个元素,分别表示为:B(1, 1)、B(1, 2)、B(1, 3)、B(2, 1)、B(2, 2)、B(2, 3)。 数组元素可以是任意类型的数据,其数据类

    21、型由对该变量数组元素可以是任意类型的数据,其数据类型由对该变量的赋值决定。数组元素在赋值前的类型为逻辑型,其值为逻的赋值决定。数组元素在赋值前的类型为逻辑型,其值为逻辑假辑假(.F.)。162. 2. 数组的使用数组的使用定义数组后,数组中的每个元素就可以像内存变量一样被使用。数组元定义数组后,数组中的每个元素就可以像内存变量一样被使用。数组元素的赋值方法与内存变量的赋值方法一样,常用素的赋值方法与内存变量的赋值方法一样,常用STORE命令来赋初值。命令来赋初值。格式:格式:STORE TO 功能:给数组中的每个元素赋相同的值。功能:给数组中的每个元素赋相同的值。执行赋值命令时,系统将根据执行

    22、赋值命令时,系统将根据的类型确定或改变数组元素的类的类型确定或改变数组元素的类型。与对内存变量的操作一样,使用型。与对内存变量的操作一样,使用 LIST/DISPLAY MEMORY命令可以显示数组元素的类型及其值;使用命令命令可以显示数组元素的类型及其值;使用命令 CLEAR MEMORY或或 RELEASE |ALL可以删除整个数组(包括内存变量);可以删除整个数组(包括内存变量);使用命令使用命令 SAVE TO 可以将数组连同内存变量一起保存到内存变量文件可以将数组连同内存变量一起保存到内存变量文件(.mem)中,需要时用命中,需要时用命令令 RESTORE FROM 命令将其从内存变

    23、量文件中恢复到内存中命令将其从内存变量文件中恢复到内存中 。17例例2.7 数组定义与赋值示例数组定义与赋值示例在命令窗口输入如下命令:在命令窗口输入如下命令:DECLARE A(3)STORE 0 TO A赋值后,数组赋值后,数组A中每个元素都为中每个元素都为0。此外,同一数组的不同元素,数据。此外,同一数组的不同元素,数据类型可以不一致。类型可以不一致。A(1)=Visual FoxPro?A(1)Visual FoxProA(2)=2006-10-01?A(2)10/01/06A(3)=.T.?A(3).T. LIST MEMORY182.1.4 变量的作用域变量的作用域 变量只有在应用

    24、程序运行时的某一时刻才存在,变量只有在应用程序运行时的某一时刻才存在,所谓变所谓变量的作用域即某个变量在应用程序中的有效作用区间。量的作用域即某个变量在应用程序中的有效作用区间。在在Visual FoxPro中可用命令语句中可用命令语句Local、Private和和Public指定变指定变量的作用域,其指定的变量分别为局部变量、私有变量和全量的作用域,其指定的变量分别为局部变量、私有变量和全局变量。局变量。1局部变量局部变量用用Local 命令建立局部变量,其建立的变量或数命令建立局部变量,其建立的变量或数组组只能在定义它们的程序中存在,不能被更高层和更低层的只能在定义它们的程序中存在,不能被

    25、更高层和更低层的程序访问程序访问。当定义它们的程序停止运行时,这些变量和数组。当定义它们的程序停止运行时,这些变量和数组将被释放。将被释放。例例2.8 定义定义局部变量局部变量Local x,y,z主程序子程序1Local x,y子程序2192私有变量私有变量Private 命令将调用程序中定义的变量和数组在当命令将调用程序中定义的变量和数组在当前程序中隐藏起来,这样用户便可以在当前程序中重新使用和前程序中隐藏起来,这样用户便可以在当前程序中重新使用和这些变量同名的变量,而不影响这些变量的原始值。一旦拥有这些变量同名的变量,而不影响这些变量的原始值。一旦拥有这些变量的程序停止运行,所有被声明为

    26、这些变量的程序停止运行,所有被声明为Private的变量和数组的变量和数组即可重新被访问。即可重新被访问。私有变量可以被当前过程及所调用的过程访私有变量可以被当前过程及所调用的过程访问,系统默认在程序中定义的都属于私有变量。问,系统默认在程序中定义的都属于私有变量。例例2.9 定义私有定义私有变量变量Private m,n3全局变量全局变量Public 关键字定义全局变量和数组。关键字定义全局变量和数组。在当前在当前Visual FoxProVisual FoxPro工作期中,任何运行的程序都能使用和修改它工作期中,任何运行的程序都能使用和修改它们。在命令窗口中创建的任何变量和数组被自动赋予全

    27、局属性们。在命令窗口中创建的任何变量和数组被自动赋予全局属性。例例2.10 定义全定义全局变量局变量Public i,j,k 主程序子程序1Private m,n子程序2202.2 常用常用函数函数Visual FoxPro 向用户提供了丰富的标准函数。函数是用程向用户提供了丰富的标准函数。函数是用程序来实现的一种数据运算或转换序来实现的一种数据运算或转换, 灵活地运用这些函数不仅可灵活地运用这些函数不仅可以简化许多运算以简化许多运算, 而且能够加强而且能够加强Visual FoxPro的许多功能的许多功能. 常用的函数类型有:数值型、字符型、日期(时间)型、逻常用的函数类型有:数值型、字符型

    28、、日期(时间)型、逻辑型、类型转换及测试函数等。辑型、类型转换及测试函数等。函数的一般形式是:函数的一般形式是: (参数表参数表)VFP 的函数与数学函数没有根本的区别。在使用函数时应注的函数与数学函数没有根本的区别。在使用函数时应注意意:(1) 所有函数必须跟随有所有函数必须跟随有圆括号圆括号, 无论函数是否需要参数无论函数是否需要参数(除宏除宏代换函数代换函数&外外)。(2) 每个函数必然有一个返回值,返回值有确定的数据类型每个函数必然有一个返回值,返回值有确定的数据类型。(3) 传送给函数的参数也有一定的数据类型传送给函数的参数也有一定的数据类型, 必须按要求的数必须按要求的数据类型传送

    29、参数值。据类型传送参数值。21下面介绍一些常用的函数。下面介绍一些常用的函数。2.2.1 数值运算函数数值运算函数 2.2.2 字符操作函数字符操作函数2.2.3 日期时间函数日期时间函数2.2.4 类型转换函数类型转换函数2.2.5 测试函数测试函数2.2.1 数值运算函数1. 求绝对值函数格式:ABS()功能:求数值型表达式的绝对值。函数值为 数值型2. 取整函数格式:INT()功能:INT取数值型表达式的整数部分。2. 取整函数格式:INT() CEILING() FLOOR()功能:INT取数值型表达式的整数部分。 CEILING取大于或等于指定表达式 的最小整数。 FLOOR取小于或

    30、等 于指定表达式的最大整数。函数值 均为数值型例:取整函数的应用x=63.52? INT(x)输出的函数值为:63? INT(-x)输出的函数值为: -63例:取整函数的应用x=63.52? INT(x), CEILING(x), FLOOR(x) 输出的函数值为:63 64 63? INT(-x), CEILING(-x), FLOOR(-x)输出的函数值为: -63 -63 -643. 求最大值函数格式:MAX(, )功能:求n个表达式中的最大值说明:这n个表达式必须是同类型的数据。表达式的类型可以是数值型、字符型、货币型、浮点型、双精度型、日期型和日期时间型例:求最大值函数的应用? MA

    31、X(教授, 讲师, 副教授,助教)输出的函数值为助教4. 求最小值函数格式:MIN(, )功能:求n个表达式中的最小值说明:这n个表达式必须是同类型的数据。表达式的类型可以是数值型、字符型、货币型、浮点型、双精度型、日期型和日期时间型例:求最小值函数的应用? MIN (2004-07-15,2001-06-16)输出的函数值为:06/16/015. 求指数函数格式:EXP()功能:将数值型表达式的值作为指数x,求 出ex的值。函数值为数值型6. 求对数函数格式:LOG() LOG10()功能:LOG求数值型表达式的自然对 数,LOG10求数值型表达式的 常用对数,数值型表达式的值 必须大于零。

    32、函数值为数值型7. 求平方根函数格式:SQRT()功能:求数值型表达式的算术平方根,数值 型表达式的值应不小于零。函数值为 数值型8. 四舍五入函数格式:ROUND(,)功能:对进行四舍五入。数值型表达式2表示保留的小数位数说明:如果数值型表达式2的值非负,表示需保留的十进制小数位;如果数值型表达式2的值为负数,其绝对值表示整数部分四舍五入的位数;如果数值型表达式2的值为非整数,先对其取整再四舍五入例:四舍五入函数的应用? ROUND(24.3459,3),ROUND(123.5822,-2), ROUND(5.623,2.5)输出的函数值为:24.346 100 5.629. 求模函数格式:

    33、MOD(,)功能:求求除以除以所得出的余数,所得出的余数,所得余数的符号和表达式所得余数的符号和表达式2相同。相同。 如果被除数与除数同号,那么函数值即为两数相除的余数。如果被除数与除数同号,那么函数值即为两数相除的余数。 如果被除数与除数异号,则函数值为两数相除的余数再加如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值上除数的值. 例:求模函数的应用? MOD(-12,5),MOD(12,-5) ,MOD(5*7,12/4)输出的函数值为:3 -3 210. 圆周率函数格式:PI()功能:返回圆周率的近似值11. 符号函数格式:SIGN()功能:返回数值型表达式的符号。自变量为正

    34、、负、零,分别返回1、-1、0 2.2.2 字符操作函数1.宏代换函数宏代换函数&格式:格式:&.字符表达式字符表达式功能:功能:&函数用于函数用于代替字符型内存变量的值。即函代替字符型内存变量的值。即函数值为字符型内存变量中去掉定界符后的字符序列数值为字符型内存变量中去掉定界符后的字符序列。 可以在可以在中输入中输入Visual FoxPro 命令命令(或命令的一部分或命令的一部分), 用用&函数来执行函数来执行.说明:若说明:若后面还有其他字符串后面还有其他字符串, 则以则以“.” 表示表示 的结束的结束.例2.21 &宏替换函数使用示例1STORE 您好! TO H?H您好!STORE

    35、H TO D?D, &D,HH 您好! 您好!例2.22 &宏替换函数使用示例2 ACCEPT 请输入文件名: TO fname请输入文件名: 学生USE &fname例2.23 &宏替换函数使用示例3STORE DISPLAY TO CUSE 学生&CGO 8&C例2.24 &宏替换函数使用示例4 STORE * TO varSTORE X&var.Y TO Z?Z2. 取子串函数格式:SUBSTR(,)功能:截取中从开始的 共个字符例:取子串函数的应用bd= computer? SUBSTR(bd,4,3),SUBSTR(bd,1)输出的函数值为:put computer3.4.5 删除字

    36、符串前后空格函数格式:LTRIM()RTRIM | TRIM()ALLTRIM()功能:LTRIM删除字符串的前导空格。RTRIM和TRIM删除字符串的尾部空格。ALLTRIM删除字符串中的前导和尾部空格。ALLTRIM函数兼有LTRIM和RTRIM函数的功能例2.26STORE SPACE(2)+BOOK+SPACE(2) TO S?S+S+S, TRIM(S)+ALLT(S)+LTRIM(S)6. 子串位置检索函数AT()格式:AT(, )功能:若是的子串, 则返回在的起 始位置值,如果不是子串,则函数值为0。 表示子串在中第几次出现,其默认值为1。函数值为整数例:求子串位置函数的应用?

    37、AT(is,This is a computer), AT(字符串,字符型表达式)输出的函数值为:3 0 7. 字符串替换函数格式:STUFF(,)功能:用替换中由开始所指定的子串说明:串和被替换字符个数不一定相等。 若 0,则直接插入;若字符型表达式2的值是空串,则删除串中个字符;若 0,则从首字符开始替换字符串替换函数举例例:字符串替换函数的应用STORE abcdefghijk TO s? STUFF(s,5,3,123), STUFF(s,5,3,1)输出的函数值为:Abcd123hijk abcd1hijk? STUFF(s,5,0,123), STUFF(s,5,0,1)8. 生成

    38、空格函数格式:SPACE()功能:生成若干个空格,空格的个数由数值型表达式的值决定9. 取左子串函数格式:LEFT(,)功能:截取左面的 个字符说明:u 若的值大于字符串的长度,则 给出整个字符串u 若不为整数,则自动取整后再 取子串u 若的值小于或等于0,则给出 一个空字符串9. 取左子串函数例:取左子串函数的应用? LEFT(计算机科学与技术,18)? LEFT(计算机科学与技术,6.5)输出的函数值为:计算机科学与技术计算机10. 取右子串函数格式:RIGHT(,)功能:截取右面的个字符。有关说明同 LEFT( )函数10. 取右子串函数例:取右子串函数的应用。? RIGHT(计算机科学

    39、与技术,10)? RIGHT(计算机科学与技术,4.5) 输出的函数值为:科学与技术技术2.2.3 日期和时间函数日期时间函数是处理日期型或日期时间型数据的函数1.系统时间函数格式:TIME()功能:给出当前的系统时间,形式为hh:mm:ss,函数值为字符型2.系统日期函数和系统日期时间函数格式:DATE()功能:给出当前的系统日期,函数值为日期型 格式:DATETIME()功能:给出当前的系统日期和时间,函数值为日期时间型3. 求年函数格式: YEAR(|) 功能:返回日期型表达式或日期时间型表达式所对应的年份。函数值为数值型. 求月函数格式:MONTH(|) CMONTH(|)功能:MON

    40、TH函数返回日期型表达式或日期时间型表达式所对应的月份数,函数值为数值型 CMONTH函数返回月份的英文名,函数值为字符型. 求日函数格式:DAY(|)功能:返回日期表达式或日期时间型表达式所对应的日期值。函数值为数值型例:日期、月份、年份函数的应用d=2004-09-05? YEAR(d),MONTH(d),DAY(d)输出的函数值为:2004 9 56. 求时、分和秒函数格式:HOUR()MINUTE()SEC()功能:HOUR函数返回日期时间型表达式所对应的小时部分(按24小时制)。MINUTE函数返回日期时间型表达式所对应的分钟部分SEC函数返回日期时间型表达式所对应的秒数部分6. 求

    41、时、分和秒函数例:求时、分和秒函数的应用d=2005-05-12,4:45:52 P? HOUR(d),MINUTE(d),SEC(d)输出的函数值为:16 45 527. 求星期函数格式:DOW() CDOW()功能:DOW函数返回日期型表达式中 星期的数值,用17表示星期日星期六。函数值为数值型CDOW函数返回日期型表达式中星期的英文名称,函数值为字符型7. 求星期函数例:求星期函数的应用? DOW(2005-05-12),CDOW(2005-05-12)输出的函数值为:5 Thursday2.2.4 类型转换函数1-2. 大小写字母转换函数格式:LOWER()UPPER()功能:LOWE

    42、R将字符串中的大写字母转换成小写,其他字符不变UPPER将字符串中的小写字母转换成大写,其他字符不变 3. 将字符串转换成日期或日期时间函数格式:CTOD()功能:将指定的日期字符串转换成日期型数据。说明:字符型表达式中的日期部分格式要与系统设置的日期显示格式一致,其中的年份可以用4位,也可以用2位。例:CTOD函数的应用?CTOD(2/10/2006)STORE CTOD(10/1/2006) TO A?ASTORE CTOD(9/22/2006) TO B?B?到国庆节还有,A-B,天!4. 将日期或日期时间转换成字符串函数格式:DTOC(|,1)功能:DTOC函数将日期数据或日期时间数据

    43、的日期部分转换为字符型数据说明:字符串中日期和时间的格式受系统设置的影响。若选用1,结果为yyyymmdd格式;缺省可选项,返回值为mm/dd/yy例2.39 DTOC函数的应用?今天的日期是:,DTOC(DATE()?DTOC(DATE(),1)5. 将数值转换成字符串函数格式:STR(,)功能:将数值型表达式的值转换成字符数据。说明:u 表示转换后字符串的长度。u 表示四舍五入后保留的小数位数u 省略时,转换后将无小数部分u 省略,时,字符串长 度为10,无小数部分u 如果指定的小于整数部分的位数,则返回 指定长度个星号*,表示出错例:STR函数的应用?str(23.45*10,6,2),

    44、str(3.14159,4,2),str(123.45,2,2)输出的函数值为:234.50 3.14 *6. 将字符串转换成数值函数格式:VAL()功能:将由数字、正负号、小数点组成的字符串转换为相应的数值型数据说明:u 若字符串中含有非上述字符,则转换到该字符 为止u 若串的第一个字符即非上述字符,函数值为0u 前导空格不影响转换u 返回值四舍五入默认保留2位小数例:VAL函数的应用?VAL(23.45)+100输出的函数值为:123.45? VAL(11A.126)输出的函数值为:11.00? VAL(A11.126)输出的函数值为:0.007.将字符转换成将字符转换成ASCII码的函数

    45、码的函数格式:ASC()功能:给出指定字符串首字符的ASCII码值。 函数值为数值型. 8.将将ASCII值转换成相应字符函数值转换成相应字符函数格式:CHR()功能:将数值型表达式的值作为ASCII码,给出所 对应的字符例:ASC函数和CHR函数的应用?ASC(abcd),CHR(97)输出的函数值为:97 a2.2.5 测试函数1. 表尾测试函数格式:EOF(|)功能:测试指定或当前工作区中记录指针是否移到表结束处。若记录指针指向表中最后一个记录之后,函数值为.T.,否则为.F.2. 表起始测试函数格式:BOF(|)功能:测试指定或当前工作区中记录指针是否移到表开始处。若记录指针指向表中第

    46、一个记录之前,函数值为.T.,否则为.F.3. 记录号测试函数格式:RECNO(|)功能:返回指定或当前工作区中表的当前记录的记录号,函数值为数值型说明:u 省略参数时,默认为当前工作区u 若记录指针在最后一个记录之后,返回比记 录总数大1的值u 若记录指针在第一个记录之前或者无记录, 返回1若测试的工作区未打开表文件, RECNO()的值为04. 记录个数测试函数格式:RECCOUNT()功能:返回当前或指定表中记录的个数说明:u 如果在指定的工作区中没有表被打开,则函数 值为0u 如果省略参数,则默认为当前工作区u RECCOUNT函数返回的值不受SET DELETED 和SET FILT

    47、ER的影响,返回的是表文件中物 理上存在的记录个数5. 数据类型测试函数格式:VARTYPE(,)功能:测试表达式的数据类型,返回用字母代表的数据类型。函数值为字符型例2.46?VARTYPE(.t.), VARTYPE(2*3.14+12)?VARTYPE(DATE(), VARTYPE(ABC)5. 数据类型测试函数格式:VARTYPE(,)功能:测试表达式的数据类型,返回用字母代表的数据类型。函数值为字符型说明:u 未定义或错误的表达式返回字母Uu 若表达式是一个数组,则根据第一个数组元素的 类型返回字符串u 若表达式的运算结果是NULL值,则根据函数中 逻辑表达式的值决定是否返回表达式

    48、的类型。如 果逻辑表达式为.T.,则返回表达式的原数据类 型。如果逻辑表达式为.F.或省略,则返回X,表 明表达式的运算结果是NULL值5. 数据类型测试函数例:数据类型测试函数的应用a=DATE()a=NULL?VARTYPE(456),VARTYPE(Good),VARTYPE(a,.T.),VARTYPE(a)输出的函数值为: N C D X. 表文件测试函数表文件测试函数格式:DBF(|)功能:用于给出指定工作区的表文件名。. 求字符串长度函数求字符串长度函数格式:LEN(字符型表达式)功能:求字符串的长度,即所包含的字符个数。若是空串,则长度为0。函数值为数值型例:求字符串长度函数的

    49、应用C=Visual Foxpro程序设计?LEN(C)输出的函数值为:218. 文件测试函数格式:FILE()功能:检测指定的文件是否存在。若文件存在,函数值为.T.,否则函为.F.说明:文件名必须是全称,包括盘符、路径和扩展名,且是字符型表达式9. 记录删除测试函数格式: DELETED(|)功能:测试当前或指定表中记录指针所指的当前记录是否有被逻辑删除。若是则为真,否则为假10. NULL值测试函数值测试函数ISNULL( )格式;ISNULL()功能:判断一个表达式的运算结果是否为NULL。若是则返回值为真,否则为假注:NULL值是一个不明确值(准确地说,只是一种状态,而不是一个值,在

    50、表的浏览窗口中只能用Ctrl+0输入),因此不能与其他值比较大小。11.空值测试函数空值测试函数EMPTY( )格式;EMPTY()功能:判断一个表达式的运算结果是否为空值。若是则返回值为真,否则为假。注:空值与NULL值是两个不同的概念。如函数EMPTY(.NULL.)的返回值为假(.F.)。首先空白一定是空值,其次对不同类型的空值还有不同的规定,如表2.4。12. 判断值介于两个值之间的函数格式:BETWEEN(,)功能:判断表达式的值是否介于相同数据类型的另外两个表达式值之间。若是,返回.T.值,否则返回.F.。如果或是NULL值,则函数值也是NULL值。例2.52:BETWEEN函数的

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:数据库管理系统课件第2章.ppt
    链接地址:https://www.163wenku.com/p-2775133.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库