第3章.ppt

VisualFoxPro课件——数据与数据运算

收藏

压缩包内文档预览:(预览前1页/共69页)
预览图
编号:93943074    类型:共享资源    大小:255.95KB    格式:RAR    上传时间:2020-09-06 上传人:灰**** IP属地:宁夏
12
积分
关 键 词:
Visual FoxPro课件——数据与数据运算 FoxPro 课件 数据 运算
资源描述:
visualfoxpro课件——数据与数据运算,visual,foxpro课件——数据与数据运算,foxpro,课件,数据,运算
内容简介:
第3章 数据与数据运算,3.1 常量与变量 3.1.1 常量 3.1.2 变量 3.2 数 据 运 算 3.2.1 运算符和表达式 3.2.2 函数,关闭,下一页,关闭,上一页,在visual foxpro 6.0系统环境中,几乎所有的操作(包括交互式命令操作和程序的编制)都要使用到常量、变量、表达式和函数,其中常量和变量是数据处理的基本对象,表达式和函数则表现了计算机数据处理的功能。本章主要讲述visual foxpro 6.0的数据与数据运算。,3.1.1 常量 我们把始终保持不变的数据叫做“常量”,它用以表示一个具体的、不变的值。 不同类型的常量有不同的书写方式,visual foxpro 6.0提供以下6种常量类型。 1数值型常量 数值型常量也就是通常所说的常数,它用来表示一个数量的大小,具有运算意义。数值型常量是由数字09、小数点和正负号组成的。 例如:65是一个正数,-78.9是一个负数。也可以用科学记数法表示数值型常量,1.5e7代表1.5*107,2.34e-8表示2.34*10-8。 系统内存用8个字节来表示一个数值型常量,其取值范围是: -0.999 999 999 9e+190.999 999 999 9e+20 数值型常量在程序和数据表中都是可以直接使用的。,知识点评,3.1 常量与变量,返回,下一页,2字符型常量 字符型常量在习惯上也称为“字符串”,由中文字符、ascii码、各种符号、空格和数字组成。 字符型常量的表示方法是用半角单引号、双引号或方括号将字符串括起来。 这里所说的半角单引号、双引号和方括号都统称为定界符。虽然,定界符不作为常量本身的内容,但是它能够限定常量的类型以及常量的起止界限。,知识点评,返回,上一页,下一页,小提示: 3种定界符没有差别,它们只起到将括起来的字符当作字符型常量的标志作用。定界符的使用必须成对出现;如果某一定界符本身也是字符串的一部分,则需用另一种定界符为该字符串定界;在设计表的结构时已经决定了字段为字符型字段后,在输入数据的时候就不用加定界符。,3日期型常量 日期型常量的定界符是一对花括号“”。花括号内用分隔符将年、月、日3部分内容分隔开。斜杠(/)是默认的分隔符,其他的合法分隔符还有连字号(-)、句点(.)和空格。 日期型常量有两种格式: (1)传统日期格式。这是系统默认的格式,也叫美国日期格式。表示方法是:mm/dd/yy,其中mm是用两位数字表示月(month),dd是用两位数字表示日(day),yy是用两位数字表示年(year)。如08-23-98表示的就是1998年8月23日。 这种日期的表示方式受到命令语句set date to和set century to的影响。,知识点评,返回,上一页,下一页,(2)严格的日期格式。严格的日期格式表示为yyyy-mm-dd,用它可以确切地表示一个日期而不会受到命令语句的任何影响。 在严格的日期格式表示中,前面的脱字符()不能缺省,年份一定要由4位数字表示完整,年、月、日的顺序也不能缺省和颠倒。 日期型常量用8个字节来表示,取值范围是:0001-01-01 9999-12-31。 严格的日期格式可以在任何情况下使用,传统的日期格式只能在set strictdate to 0的情况下可用。当set strictdate to 1或2的情况下,用户使用传统日期格式,系统就会报错。 此外,visual foxpro 6.0也允许用户使用各个国家的日期格式,只要在之前使用日期格式的设置命令: set date to ansi |american|british|french|german |ymd|mdy|dmy,知识点评,返回,上一页,下一页,4日期时间型常量 日期时间型常量的常用格式是: yyyy-mm-dd, hh:mm:ssa|p 它由前面的日期和后面的时间组成,之间用逗号或是空格隔开。最外边是花括号,表示用严格的格式表示,其中方括号里的内容是可选项,a代表上午,p代表下午,默认为上午。 日期时间型常量也有传统和严格两种格式之分。要想用传统格式表示,直接将日期部分改为mm/dd/yy就可以了。 5逻辑型常量 逻辑型常量只有逻辑真(true)和逻辑假(false)两个值。逻辑真的表现形式有:.t.、.t.、.y.和.y.;逻辑假的表现形式有:.f.、.f.、.n.和.n.。其中,前后两个句点是不能缺省的,如果缺省了系统将自动识别为变量名。逻辑型数据只占用1个字节。,知识点评,返回,上一页,下一页,6货币型常量 货币型常量用来表示货币值,与数值型数据的不同之处就是数值要加一个前置的货币符号($)。货币型数据保留4位小数。如果一个货币型数据有超过4位的小数位,那么系统会将多余的小数位四舍五入。 货币型常量没有科学记数法形式,在内存中也占8个字节。它的取值范围是: -922 337 203 685 447.580 7922 337 203 685 447.580 7 货币型常量在程序使用时一定要加上货币符号,但是在表中设计货币字段时则只需输入数字,不加货币符号。,知识点评,返回,上一页,3.1.2 变量 变量是组成程序的重要单元,变量值是能够随时更改的。 1变量的命名原则 变量在内存中占有一定的存储单元,在这个存储单元中存储变量的值。每个变量都有属于自己的名字,叫做变量名。为变量命名,需要遵守以下规则。 (1)以字母、汉字、下划线和数字组成。 (2)以字母、汉字开头,字段名中不能包含空格。 (3)不能使用系统保留字,creat等都不能作为变量名。 (4)除了自由表的字段名、表的索引标识名最多只能是10个字符外,其余名称的长度可以是1128个字符。 (5)字母不区分大小写,即:变量名ab、ab和ab在系统中是同等对待的。,知识点评,返回,下一页,2变量的分类 在visual foxpro 6.0中,变量可以分为字段变量和内存变量。另外,还可以使用数组。 (1)字段变量。字段变量是定义在表中的变量,随表的存取而存取,隶属于表文件。一旦一个表建立起来了,就会有一组字段变量。字段名就是字段变量名,同一字段名在不同记录中分别对应不同的值。 字段变量的数据类型可以是visual foxpro 6.0允许的所有类型,在创建表结构的时候进行定义。 (2)内存变量。visual foxpro 6.0的内存变量又可以分为系统变量和用户自定义变量。其中,系统变量是visual foxpro 6.0自带的变量,由系统命名、创建和维护。通常是以一个下划线开头的,用户不能随意删除。,知识点评,返回,上一页,下一页,由用户自己定义的内存变量是内存中的一个存储区域,变量值就是存放在这个区域里的数据,变量的类型取决于变量值的类型。需要注意的一点是:变量的类型可以改变,也就是说,可以把不同类型的数据赋给同一个变量。 内存变量有6种数据类型,包括:字符型(c)、数值型(n)、货币型(y)、逻辑型(l)、日期型(d)和日期时间型(t)。 每一个内存变量都有它的作用域,用户可以通过local、private、public命令对内存变量进行规定,当然也可以使用系统默认的作用域,这部分内容将在以后章节进行讲解。,知识点评,返回,上一页,下一页,小提示: 由于内存变量存放在独立于数据库文件的临时存储单元中,所以,内存变量可以和字段变量重名。但是,在这种情况下,字段变量具有更高的优先级。如果用户想访问内存变量,需要在内存变量名前加m.或m-作为前缀,例如:m.class或m-class。但对内存变量赋值时不能加前缀。,(3)数组。数组是内存中连续的一片存储区域,它由一系列元素组成。用户通过数组名及对应的下标实现对数组元素的访问。每个数组元素相当于一个简单变量,可以给元素分别赋值。,知识点评,返回,上一页,下一页,小提示: 数组中每一个元素的数据类型可以不同,各元素的数据类型取决于所赋值的数据类型。,数组从结构上可分为一维数组和二维数组,数组在使用以前要用dimension或declare命令显式创建,用以规定数组的维数、数组名及数组的大小。数组的大小由下标值的上、下限决定,下限为1。,数组的定义格式说明如下: 格式 dimension/decar 数组名1(下标上限1,下标上限2),数组名2(下标上限3,下标上限4) 说明 当完成对数组定义后,系统自动为每一个元素定义为.f.。定义数组时也可以用方括号,例如:decare d(3,4)和decare d3,4的意义是完全一样的;在赋值和输入语句中使用数组名时,表示将同一个值同时赋给该数组的全部数组元素;另外,在同一运行环境下,数组名不能与简单变量名重复。,知识点评,返回,上一页,下一页,小提示: 可以用一维数组的形式访问二维数组。例如:m(2,3)定义了一个两行三列的数组,其中m(2,1)和m(4)等价。,3常用命令 (1)内存变量的赋值 格式1 store to 格式2 = 功能 计算表达式并将表达式的值赋给一个或多个内存变量。 说明 格式1可以给多个内存变量赋相同的值,格式2只能给一个内存变量赋值;格式2左右两边不能对调;内存变量的类型和值由所赋数据的类型和取值决定的,并以最后一次赋值为准。 【例3-1】内存变量的赋值。 store 20 to m,n & 创建变量m,n,数据类型为数值型,值为20 学号=sy0511107 & 创建变量学号,数据类型为字符型,值为sy0511107,知识点评,返回,上一页,下一页,(2)表达式值的显示 格式1 ? 格式2 ? 功能 计算表达式表中的各表达式并输出各表达式的值。 说明 格式1的变量或表达式的值在下一行的起始处输出。格式2的结果在当前行的光标所在处直接输出。 【例3-2】输出变量的值。 store 15 to m,n & 创建变量m,n,数据类型为数值型,值为15 ?m,n 输出结果为: 15 15 ? ?m, n 输出结果为: 15 15 15 15 & 不换行,在前面的结果后直接输出,知识点评,返回,上一页,下一页,(3)内存变量的显示 格式1 list memory liketo printer|to file 格式2 display memory liketo printer|to file 功能 显示内存变量的当前信息,包括变量名、作用域、取值和类型。 说明 格式2和格式1的区别是格式2分屏显示,每显示一屏暂停,等待用户按任意键继续显示;格式1不暂停,直到显示结束。,知识点评,返回,上一页,下一页,(4)变量的释放 格式1 clear memory 格式2 release 格式3 release all 格式4 release all|except 功能 从内存中释放掉所有的或指定的变量。 说明 格式1和格式3在人机会话的状态下作用相同,但是在程序中,格式3应加上extended,不然不能清除公共内存变量。,知识点评,返回,上一页,下一页,【例3-3】给内存变量和数组赋值。 clear memory dimension x(2,2) store welcome to x(1,1) ,y1 x(1,2)=30 x(2,1)=2003-9-16 list memo like x* 输出结果为: x puba (1,1)cwelcome (1,2)n30( 30.00000000) (2,1)d03/9/16 (2,2)l.f.,知识点评,返回,上一页,下一页,继续输入: y2=$12.3 y3=6 display memo like y? 输出结果为: y1pubcwelcome y2puby12.3000 y3pubn6(6.00000000) 【例3-4】继续以上操作,释放变量。 release y2,y3 list memo like y? 输出结果为: y1pubcwelcome,知识点评,返回,上一页,3.2.1 运算符和表达式 运算符是指在进行数据加工的过程中描述不同运算的符号,参加运算的数据被称为操作数。而表达式是用来表示某个求值规则,由常量、变量、函数用运算符连接起来的特定的式子。表达式无论是简单还是复杂,都会有一个运算结果,即表达式的值。根据运算结果的不同,表达式可以分为数值表达式、字符表达式、日期时间表达式和逻辑表达式。 1算术运算符和数值表达式 格式 说明 数值表达式由算术运算符、数值型常量、变量、函数和圆括号组成,其运算结果仍然是数值型。,知识点评,3.2 数 据 运 算,返回,下一页,(1)算术运算符。visual foxpro 6.0的算术运算符及其优先级见表3-1。,知识点评,返回,上一页,下一页,表3-1 算术运算符及其优先级,(2)表达式书写规则。不能在右上角或右下角写幂或下标;原来在数学表达式省略的内容必须写全,例如:2x要写成2*x;括号只能用圆括号,成对出现,可嵌套。 例如:32+5(x+y)要写成3*(2+5*(x+y)的形式;一些数学表达式的符号要转换成visual foxpro 6.0规定的形式,例如:圆周率要用pi表示。,知识点评,返回,上一页,下一页,(3)求余运算。求余运算%与函数mod( )用相同。余数的符号取决于除数,如果被除数与除数同号,函数值是两数相除的余数;如果被除数与除数异号,余数为两数相除的余数再加上除数的值。 【例3-5】求余运算示例 store 78 to x,y ?x%46,mod(x,46),x%(y-120) 输出结果为: 32 32 -6,知识点评,返回,上一页,下一页,(3)求余运算。求余运算%与函数mod( )用相同。余数的符号取决于除数,如果被除数与除数同号,函数值是两数相除的余数;如果被除数与除数异号,余数为两数相除的余数再加上除数的值。 【例3-5】求余运算示例 store 78 to x,y ?x%46,mod(x,46),x%(y-120) 输出结果为: 32 -6 2字符串运算符和字符表达式 格式 说明 可以是一个简单的字符型常量、变量、函数,也可以是若干个量的组合,其运算结果仍然是字符型。 字符串运算符见表3-2,需要说明的是,“+”、“-”的优先级相同。,知识点评,返回,上一页,下一页,【例3-6】字符串运算示例。 a=hello b=kitty! ?a+b,a-b 输出结果为: hello kitty! hellokitty! 3日期时间运算符和日期时间表达式 日期型数据是比较特殊的数据类型,只能进行+和-运算。此外,在格式上还有严格的限制,表3-3列出了合法的表达式。,表3-2 字符串运算符,知识点评,上一页,下一页,【例3-7】时间日期运算 ?1999-11-12-1999-11-7,2001-12-3+10 输出结果为: 5 12/13/01,表3-3 日期时间表达式格式,小提示: 符号+、-不但可以作为时间日期运算符还可以是算术运算符。到底作为哪种运算符使用要看所连接的运算对象的数据类型。,知识点评,返回,上一页,下一页,4关系运算符和关系表达式 格式 说明 相同类型的数据之间的比较,其运算结果仍然是逻辑型。 关系表达式也可叫做简单逻辑表达式,由关系运算符将两个运算对象连接起来。关系运算符的作用是比较两个表达式的大小或前后。表3-4给出了关系运算符的含义。,表3-4 关系运算符及含义,知识点评,返回,上一页,下一页,(1)数值、货币和日期时间型数据的比较。表3-5给出了数值、货币和日期时间型数据的比较规则:,小提示: 运算符$和=仅可用于字符型数据,其他运算符适用于任何数据;在比较运算时,前后两个运算对象的类型必须相同,但日期和日期时间型数据可以比较。,表3-5 数值、货币和日期时间型数据的比较规则,知识点评,返回,上一页,下一页,(2)字符型数据的比较。当对两个字符串进行比较的时候,系统会从左到右逐个对字符进行比较,当发现两个对应的字符不同时,根据两个字符的排序序列判断两个字符串的大小。 首先要对字符序列的排序设置有所了解。在visual foxpro 6.0中,可以用人机会话和命令两种方式对字符序列的排序进行设置。 人机会话方式。选择菜单【工具】|【选项】命令,打开“选项”对话框。选择“数据”选项卡,弹出如图3-1所示的界面。,知识点评,返回,上一页,下一页,图3-1 字符排序序列设定 在“排序序列”下拉框中有3个选项,machine(机器)、pinyin(拼音)和stroke(笔画)。,知识点评,返回,上一页,下一页, 命令方式。在命令窗口键入下面的命令能够实现对字符排序序列的重新设置。 格式 set collate to 说明 machine (机器次序):按照机器内码排序,在计算机中,西文字符是按ascii码排序的。即:空格在最前面,大写字母在小写字母前面。因此,大写字母小于小写字母。汉字的机内码与汉字国标码一致,对常用的汉字而言,根据它们的拼音顺序决定大小。 pinyin(拼音次序):按照拼音次序排序。对于西文字符而言,空格在最前面,小写字母在大写字母前面。因此,大写字母大于小写字母。 stroke(笔画次序):无论中文、西文,按照书写笔画的多少排序。,小提示: 如果想把设置改为永久设置,单击“设置为默认值”按钮。否则,所做的修改只对这次程序有影响,下次进入visual foxpro 6.0还会是系统的默认设置。,知识点评,返回,上一页,下一页,【例3-8】不同字符排序设置下字符串的比较 set collate to machine ? a abc,b b,b b .t. .f. .f. set collate to pinyin ? a abc,b b,b b .t. .t. .f. set collate to stroke ? a abc,b b,b b .t. .t. .f.,知识点评,返回,上一页,下一页,(3)字符串精确比较与exact设置。 使用“=”对字符串进行的是精确比较,即只有当两个字符串完全相同时(包括空格、各字符的位置),运算结果才为真,否则为假。 使用=对字符串进行比较,结果和set exact on|off有关。该命令可以在程序、命令窗口和“数据”选项卡中设置。 系统默认是off。在处于off状态时,只要右边的字符串与左边的字符串相匹配,运算结果就是真。换句话说,比较是以右边的字符串为基准的,右面的字符串结束就终止比较。 例如:abc=a、abc=ab和abc=abc运算结果都是真;但a=abc、bc=abc这些都为假。 处在on状态。在进行比较之前,系统会在较短的字符串的尾部加空格,使之和较长的字符串长度相同,再进行比较。 例如:ab=ab为真,abc=a为假。,知识点评,返回,上一页,下一页,5逻辑运算符和逻辑表达式 逻辑运算符有3个,分别是:.and.(逻辑与)、.or.(逻辑或)、.not.(逻辑非),也可以省略两边的圆点。它们的优先级依次是not、and、or。 逻辑运算的操作数是逻辑型数据,运算的结果也是逻辑型数据。 表3-6给出了逻辑运算的运算规则(其中r和s是两个逻辑型数据):,表3-6 逻辑运算运算规则,逻辑表达式经常用在条件语句中,例如:要查询物理学院或物理研究所的年龄小于40的男老师的信息,就可以将条件语句表述为: (单位=物理学院or单位=物理研究所)and 年龄40 and 性别=男,知识点评,返回,上一页,6运算符优先级 前面介绍了几类运算符,各大类包含的运算符都有自己的优先次序。这种优先次序也存在于不同类的运算符中,具体次序如下: 字符、日期和时间及算术运算符优先于关系运算符,关系运算符优先于逻辑运算符。,小提示: 圆括号的优先级最高;相同优先级的运算符按从左到右的顺序进行运算;字符串连接运算符和算术加、减运算符优先级一样。,【例3-9】不同运算符优先级示例。 ?2212 and tianjin beijingor .t.=.f. 运算结果为: .f.,知识点评,返回,下一页,3.2.2 函数 visual foxpro 6.0提供了200多个函数,极大地增强了系统的性能。函数通过函数名实现调用。格式是: 函数名() 函数可以有自变量也可以没有自变量。不管有无自变量,调用时后面的括号是不能省略的。当自变量多于一个的时候,自变量之间用逗号隔开。 函数运算后会有一个值,称为函数值。根据函数返回值的类型可以将函数分为数值函数、字符函数、日期时间函数、类型转换函数、测试函数和其他函数等。,知识点评,返回,上一页,下一页,1数值函数 数值函数的返回值是数值型,常用的数值型函数有: (1)绝对值函数和符号函数。 格式 abs(数值表达式) sign(数值表达式) 功能 abs( )返回指定数值表达式的绝对值。sign( )返回指定数值表达式的符号,当表达式的运算结果为正数、负数和零时,函数值分别为1、-1和0。 【例3-10】 store 3 to x ?abs(10-x), abs(x-10) 输出结果为: 7 7 store 10 to x ?sign(x-10?), sign(5-x), sign(x-5) 输出结果为: 0 -1 1,知识点评,返回,上一页,下一页,(2)平方根函数。 格式 sqrt() 功能 返回给定数值表达式的平方根。自变量的值不能为负。 【例3-11】 ?sqrt(36) 输出结果为: 600 (3)圆周率函数。 格式 pi( ) 功能 返回圆周率。,知识点评,返回,上一页,下一页,(4)求整数函数 格式 int() ceiling() floor() 功能 int( )返回指定数值表达式的整数部分,ceiling( )返回大于或等于给定数值表达式的最小整数,floor( )返回小于或等于给定数值表达式的最大整数。 【例3-12】 store 3.2 to x ?int(x), int(-x), ceiling(x), ceiling(-x),floor(x), floor(-x) 输出结果为: 3 -3 4 -3 3 -4,知识点评,返回,上一页,下一页,(5)四舍五入函数。 格式 round(,) 功能 返回指定表达式在指定位置四舍五入后的结果。指明四舍五入的位置。大于0则表示要保留的小数的位数;小于0则表示的是整数部分的舍入位数。 【例3-13】 x=167.845 ?round(x,2),round?(x,1),round(x,0),round(x,-1) 输出结果为: 167.86 167.8 168 170,知识点评,返回,上一页,下一页,(6)求余函数。 格式 mod(,) 功能 返回两个数值相除后的余数。是被除数,是除数,结果的符号与除数一致。如果被除数与除数符号相同,函数值为两数相除的余数;如果被除数与除数符号不相同,则函数值为两数相除余数再加上除数的值。 【例3-14】 ?mod(23,5),mod(23,-5),mod(-23,5),mod(-23,-5) 输出结果为: 3 -2 2 -3,知识点评,返回,上一页,下一页,(7)求最大值和最小值函数。 格式 max(,) min(,) 功能 max( )返回所有自变量表达式中的最大值,min( )返回所有自变量表达式中的最小值。 【例3-15】 ?max(2,5.7,-9),min(手枪,大炮,火箭炮) 输出结果为: 5.7 大炮,知识点评,返回,上一页,下一页,2字符函数 字符函数的返回值可以是字符型、数值型或逻辑型等。 (1)求字符串长度函数。 格式 len() 功能 返回指定字符表达式的长度,返回值为数值型。 【例3-16】 x=图书公司 len(x) 输出结果为: 8,知识点评,返回,上一页,下一页,(2)大小写转换函数。 格式 lower() upper() 功能 lower( )将指定字符表达式的大写字母转换成小写字母,其他字符不变,upper( )将指定字符表达式的小字母转换成大写字母,其他字符不变。 【例3-17】 ?lowe(abc),upper(x=2) 输出结果为: abc x=2,知识点评,返回,上一页,下一页,(3)取子串函数。 格式 left(,) right(,) substr(,) 功能 left( )从给定字符串的左端取指定长度的字串;right( )从给定字符串的右端取指定长度的字串;substr( )从给定字符串的指定位置开始取指定长度的子串。若省略则从指定的起始位置开始一直取到最后一个字符。 【例3-18】 ?substr(床前明月光,5,4),substr(床前明月光,5) ?left(床前明月光,4) 输出结果为: 明月 明月光 床前,知识点评,返回,上一页,下一页,(4)与空格有关的函数。 格式 space() trim() ltrim() alltrim() 功能 space( )返回指定个数的空格字符组成的字符串;trim( )返回给定表达式已去掉尾部空格的字符串;ltrim( )返回给定表达式已去掉前导空格的字符串;alltrim( )返回给定表达式已去掉前导和尾部空格的字符串。 【例3-19】 store space(1)+text+ space(3)to ss ?trim(ss)+ltrim(ss)+alltrim(ss) 输入结果为: texttext text ?len(ss),len(trim(ss),len(ltrim(ss),len(alltrim(ss) 输出结果为: 8 5 7 4,知识点评,返回,上一页,下一页,(5)计算子串出现次数函数。 格式 occurs(,) 功能 返回第一个字符串在第二个字符串中出现的次数。函数值为数值型。若第一个字符串没有在第二个字符串中出现,返回0。 【例3-20】 x=abcd abcd ?occurs(abc,x),occurs(abd,x) 输出结果为: 20,知识点评,返回,上一页,下一页,(6)求子串位置函数。 格式 at(,) atc(,) 功能 at( )返回在中出现的位置。若没有出现,则返回0。在字符串比较的时候要区分大小写。用来指出在中的第几次出现,默认值是1。 atc( )与at( )功能类似,但在字符串比较时不区分大小写。 【例3-21】 x=on afternoon atc(on,x),at(on,x),atc(on,x,2),at(on,x,2) 输出结果为: 1 11 11 0,知识点评,返回,上一页,下一页,(7)子串替换函数。 格式 stuff(,) 功能 用值替换中由和指定的一个子串。注意,替换和被替换的字符个数不一定相等。如果为0,则插在由指定的字符前面;如果是空串,则中由和指明的子串被删除。 【例3-22】 ?stuff(成本上升,5,4, 下降) 成本下降,知识点评,返回,上一页,下一页,(8)字符替换函数。 格式 chrtran(,) 功能 将和进行字符比较。如果有匹配的部分则用中对应的字符(相同位置)替换中相应的字符;如果的字符个数少于的字符个数,则没有对应字符,那么中相匹配的字符将被删除;如果的字符个数大于的字符个数,则多余字符被忽略。 【例3-23】 x= chrtran(同学们好!,同学,你) y= chrtran(bcdsidb,bcd,m23) ?x,y 输出结果为: 你们好! m23si3m,知识点评,返回,上一页,下一页,(9)字符串匹配函数。 格式 like(,) 功能 比较和对应位置上的字符,若所有字符都匹配,返回真,否则为假。可以包含通配符“*”和“?”。 【例3-24】 ?like(*学生, 师大学生),like(?学生, 师大学生) 输出结果为: .t.f.,知识点评,返回,上一页,下一页,3日期和时间函数 (1)获取系统日期和时间函数。 格式 date( ) time( ) datetime( ) 功能 date( )返回系统当前日期,函数值为日期型;time( )返回系统当前时间,函数值为字符型,格式为:hh:mm:ss;datetime( )返回系统当前的日期和时间,函数值为日期时间型。 【例3-25】 ?date( ),time( ),datetime( ) 输出结果为: 09/04/05 15:56:01 09/04/05 03:56:01 pm,知识点评,返回,上一页,下一页,(2)年份、月份、天数函数。 格式 year(|) month(|) day(|) 功能 year( )从指定的日期表达式或日期时间表达式中返回年份,其值为数值型;month( )从指定的日期表达式或日期时间表达式中返回月份,其值为数值型;day( )从指定的日期表达式或是日期时间表达式中返回日,其值为数值型。 【例3-26】 m=2005-12-25 ?year(m), month(m), day(m) 输出结果为: 2005 12 25,知识点评,返回,上一页,下一页,(3)时分秒函数。 格式 hour() minute() sec() 功能 hour( )按24小时制返回中的小时部分;minute( )返回中的分钟部分;sec( )返回中的秒数部分。 说明 这3个函数返回值都是数值型。 【例3-27】 t=2005-12-21 18:10:20 ?hour(t),minute(t),sec(t) 输出结果为: 18 10 20,知识点评,返回,上一页,下一页,4数据类型转换函数 (1)字符型转数值型函数。 格式 val() 功能 将数字字符(含有正负号和小数点)组成的字符串转换成数值。如果首字符不是数字字符,则返回0;如果中含有非数字字符,则只转换前面的部分。 【例3-28】 ?val(3.1416),val(-3.1416),val(pi3.1416),val(3.1416 pi) 输出结果为: 3.1416 -3.1416 0 3.1416,知识点评,返回,上一页,下一页,(2)数值型转字符型函数。 格式 str(,) 功能 将指定的数值表达式转换为字符串。是转换后的字符串长度,默认值为10;是保留的小数位位数,并进行四舍五入,默认值为0。如果小于的整数部分,则返回一串“*”号。 【例3-29】 ?str(255.67),str?(255.67,6,1),str(255.67,2) 输出结果为: 256 255.7 *,知识点评,返回,上一页,下一页,(3)字符型转换为日期型或日期时间型函数。 格式 ctod() ctot() 功能 ctod将日期形式的转换成日期型;ctot将日期时间形式的转换成日期时间型。 说明 字符串中的日期部分要与 set date to命令设置的格式一致。其中年份可以用四位,也可以用两位。如果用两位,则由 set century to 指定。 【例3-30】 set date toymd set century on set century to 19 rollover 51 & 小于51的两位数属于21世纪,大于或等于51的两位数属于20世纪 x= ctod(2005/05/16) y= ctot(2005/05/16+ +time( ) ?x,y,ctod(50/01/01),ctod(51/01/01) 输出结果为: 2005/05/16 2005/05/16 10:20:01am 2050/01/01 1951/01/01,知识点评,返回,上一页,下一页,(4)日期或日期时间转换成字符串。 格式 dtoc(|,1) ttoc(,1) 功能 dtoc( )将日期型数据或日期时间型数据的日期部分转换成字符串,ttoc( )将日期时间数据转换成字符串。 说明 字符串中日期部分的格式与set date to命令设置和set century on|off(on为四位数年份,off为两位数年份)语句的设置有关。时间格式受set hours to12|24语句设置有关。 对于dtoc( )来说,如果使用选项1,则字符串的格式总是yyyymmdd,一共8个字符。对于ttoc( )来说,如果使用选项1,则字符串的格式总是yyyymmddhhmmss,使用24小时制,共14个字符。,知识点评,返回,上一页,下一页,【例3-31】 store datatime( ) to m ?m 输出结果为: 08/09/03 11:54:39 pm ?dtoc(m), dtoc(m,1), ttoc(m), ttoc(m,1) 输出结果为: 08/09/03 20030809 08/09/03 11:54:39 pm 20030809235439,知识点评,返回,上一页,下一页,(5)宏替换函数。 格式 &. 功能 替换出字符变量的内容,也就是说&的值是变量中的字符串。 说明 如果该函数与其后面的字符没有明显的分界,则要用“.”作为函数结束的标志;宏替换可以嵌套使用。 【例3-32】 x=hello! m=x ?&x hello!,知识点评,返回,上一页,下一页,5测试函数 (1)值域测试函数。 格式 between (,) 功能 判断的值是否在另外两个相同数据类型的表达式之间,是则返回真,否则为假。 说明 如果或有一个是null值,则函数值是null值。 【例3-33】 store null to
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:VisualFoxPro课件——数据与数据运算
链接地址:https://www.renrendoc.com/paper/93943074.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

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