资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第3讲,第2章 数据与数据运算,2,教学内容,第2章 数据与数据运算 2.4 运算符与表达式 2.5 函数,第2章 数据与数据运算,3,教学重点 数据类型和表达式使用、常用函数的使用 教学难点 常用函数的使用,第2章 数据与数据运算,4,2.4 运算符与表达式,由常量、变量、函数通过特定运算符连接起来的式子,称为表达式。 表达式的形式: 单一运算对象(常量,变量,函数) 由运算符将运算对象连接起来形成的式子 根据表达式值的类型,表达式可分为: 数值表达式 字符表达式 日期时间表达式 关系表达式 逻辑表达式,第2章 数据与数据运算,5,2.4 运算符与表达式,2.4.1 数值运算和数值表达式 【格式】 【说明】 数值表达式由算术运算符、数值型常量、变量、函数和圆括号组成。 结果类型:数值型。 数据运算的优先级和运算符号的含义如表所示。,第2章 数据与数据运算,6,2.4 运算符与表达式,2.4.2 字符运算和字符表达式 【格式】 【说明】 表达式由字符型常量、变量、函数和运算符“+”“-”组成 “+”“-”两个符号的优先级相同,表示的含义都是字符串的连接,只是在处理前串尾部空格上有所区别。 结果类型:字符型。 字符串运算符如表所示。,第2章 数据与数据运算,7,2.4 运算符与表达式,【例2.7】字符串运算示例(注:表示空格) a=hello b=teacher! ? a+b, a-b,输出结果:helloteacher! helloteacher!,第2章 数据与数据运算,8,2.4 运算符与表达式,2.4.3 日期时间表达式 日期型数据是比较特殊的数据类型,只能进行+和-运算。此外,在格式上还有严格的限制,一些合法的组合如表所示。,输出结果: 08/05/09 30 -30,【例2.8】日期运算示例 ?2009-7-31+5 ? 2009-10-1-2009-09-01 ? 2009-09-01-2009-10-1,第2章 数据与数据运算,9,2.4 运算符与表达式,2.4.4 关系运算与关系表达式 【格式】 【说明】相同类型的数据之间的比较。 结果类型:逻辑型。 关系运算符的作用是比较两个同类型表达式的大小。关系运算符的含义如表所示。 运算符$和=仅可用于字符型数据,其他运算符适用于任何数据; 在比较运算时,前后两个运算对象的类型必须相同,但日期和日期时间型数据可以比较。,第2章 数据与数据运算,10,2.4 运算符与表达式,数值、货币和日期时间型数据的比较 数值、货币和日期时间型数据的比较规则如表所示。,第2章 数据与数据运算,11,2.4 运算符与表达式,字符型数据的比较 (1)人机会话方式 步骤1:首先选择“工具选项”菜单命令。 步骤2:在弹出的“选项”对话框中单击“数据”后,在“排序序列”中选择字符排序的依据,然后单击“确定”按钮。 在排序序列下拉菜单中有3个选项:machine(机器)、pinyin(拼音)和stroke(笔画)。各选项的作用如表所示。,第2章 数据与数据运算,12,2.4 运算符与表达式,字符型数据的比较 (2)命令方式 【格式】SET COLLATE TO 【说明】排序序列名必须在引号中,排序序列名可以是machine,pinyin或stroke。 【例2.9】同字符排序设置下字符串的比较。 SET COLLATE TO Machine ? aabc, bB, b 继续输入: SET COLLATE TO Pinyin ? abdabc, bB , “十“三“ 继续输入: SET COLLATE TO stroke ? “十“三“,输出结果:.T. .F. .F.,输出结果:.F. .T. .F.,输出结果:.T.,第2章 数据与数据运算,13,2.4 运算符与表达式,字符型数据的比较 (3)字符串精确比较与EXACT设置 使用=对字符串进行的是精确比较,即只有当两个字符串完全相同时(包括空格、各字符的位置),运算结果才为真,否则为假。 使用=对字符串进行比较,结果和 SET EXACT ONOFF命令有关,如表所示。,第2章 数据与数据运算,14,2.4 运算符与表达式,字符型数据的比较 (4)子串包含运算 $: 【格式】$ 如果字符串表达式1是字符串表达式2的一个子串,即一部分,结果为真,否则为假。 【例2.10】子串包含运算 ?教育学$高等教育学 ? 教学$高等教育学 ? 高等教育学$教育学,输出结果: .T. .F. .F.,第2章 数据与数据运算,15,2.4 运算符与表达式,2.4.5 逻辑运算和逻辑表达式 逻辑运算符有3个,分别是.AND.(逻辑与)、.OR.(逻辑或)和.NOT.(逻辑非),也可以省略两边的圆点。 它们的优先级依次是NOT、AND、OR。 逻辑运算的操作数是逻辑型数据,运算的结果也是逻辑型数据。 逻辑运算的运算规则如表所示(其中R和S是两个逻辑型数据)。 要查询物理系或数学系年龄小于24岁的男学生党员的信息,条件语句表述为:(单位=物理系OR单位=数学系) AND 年龄24 AND 性别=男 AND 政治面貌=党员,第2章 数据与数据运算,16,2.4 运算符与表达式,2.4.6 运算符优先级 优先次序为:字符、日期和日期时间以及算术运算符优先于关系运算符,关系运算符优先于逻辑运算符。另有如下规则: 圆括号的优先级最高; 相同优先级的运算符按从左到右的顺序进行运算; 【例2.11】不同运算符优先级示例。 ? 2212 AND tianjinbeijingOR .T.=.F. 运算结果:.F.运算过程如图2.5所示。,第2章 数据与数据运算,17,2.5 函数,程序设计语言中的函数与数学上的函数没有什么区别,使用函数要有参数(自变量),可以从函数得到一个返回的值(因变量)。 而从程序设计的角度来看,函数是子程序的一种,它能完成一种特定的运算。 2.5.1 函数的分类 Visual FoxPro的函数有两种,一种是用户自定义的函数,一种是系统函数。 Visual FoxPro提供的系统函数大约有300多个,主要分为:数值函数、字符处理函数、表和数据库函数、日期时间函数、类型转换函数、测试函数等几类。,第2章 数据与数据运算,18,2.5 函数,2.5.2 常用函数 数学函数 (1)取绝对值函数ABS( ) 【格式】ABS() 【例2.12】?ABS(-20),ABS(10-20) 输出结果:20 10 (2)最大值函数MAX( ),最小值函数MIN( ) 【格式】MAX|MIN(,,) 【例2.13】?MAX(10,20),MIN(-10,-20,-30),?MAX(“a“,“B“,“西“) 输出结果:20 -30 西 (3)取整函数INT( ) 【格式】INT () 【功能】返回给定数值的整数部分。 【例2.14】?INT(5.9),INT(-8.66),INT(10.9-2.6) 输出结果:5 -8 8,第2章 数据与数据运算,19,2.5 函数,数学函数 (4)求余数函数MOD( ) 【格式】MOD(,) 【功能】返回两数值相除的余数,返回值的符号与除数的符号相同。 【例2.15】?MOD(23,5),MOD(23,-5),MOD(-23, 5),MOD(-23,-5) 输出结果:3 -2 2 -3 (5)四舍五入函数ROUND( ) 【格式】ROUND(,) 【功能】对数值表达式1按照数值表达式2进行四舍五入,数值表达式2大于等于0对小数部分,数值表达式2小于0对整数部分。 【例3.16】 ?ROUND(345.6799,3),ROUND(345.6799,-2) 输出结果:345.680 300 (6)求平方根函数SQRT( ) 【格式】SQRT() 【例3.17】 ?SQRT(16) 输出结果:4.00,第2章 数据与数据运算,20,2.5 函数,其它数学函数,见下表。,第2章 数据与数据运算,21,2.5 函数,字符串函数 (1)删除字符串空格函数LTRIM( ), RTRIM( ), ALLTRIM( ) 【格式】LTRIM| RTRIM|ALLTRIM() 【功能】LTRIM( ), RTRIM( ), ALLTRIM( )分别删除字符串左端、右端和两端空格。其中RTRIM( )也可以写成TRIM( )。 【例2.18】? ab+LTRIM(cd)+“e“ ?ALLTRIM(b)+c 输出结果:abcde bc (2)计算字符串长度函数LEN( ) 【格式】LEN() 【例2.19】?LEN(“ABCDF“),LEN(“中国“) 输出结果:5 4,第2章 数据与数据运算,22,2.5 函数,字符串函数 (3)返回位置函数AT( ) 【格式】AT(, ,) 【功能】返回字符串1在字符串2中第N次出现的位置,如不存在则返回0。 【例2.20】?AT(“BC“,“ABC“),AT(“B“,“ABCB“,2) 输出结果:2 4 (4)取子字符串函数SUBSTR( ),LEFT( ),RIGHT( ) 【格式】SUBSTR(, ,) 【功能】返回对字符串从N1位开始取出N2个字符组成的字符串。 【例2.21】?SUBSTR(“社会经济学“,5,4) 输出结果:经济 【格式】LEFT|RIGHT(, ) 【功能】返回从字符串左端或右端开始,连续取N位字符所组成的字符串。 【例2.22】?LEFT(ABC,2) ,RIGHT(ABC,2) 输出结果:AB BC,第2章 数据与数据运算,23,2.5 函数,字符串函数 (5)生成空格函数SPACE( ) 【格式】SPACE() 【例2.23】?“中国“+SPACE(3)+“加油“ 输出结果:中国加油 (6)大小写转换函数UPPER( ), LOWER( ) 【格式】UPPER|LOWER() 【例2.24】?UPPER(“aBC“),LOWER(“aBc“) 输出结果:ABC abc,第2章 数据与数据运算,24,2.5 函数,其它常用的字符串函数,见下表。,第2章 数据与数据运算,25,2.5 函数,日期时间函数 (1)系统当前日期函数DATE( ),结果为日期型D 系统当前日期时间函数DATETIME( ) ,结果为日期时间型T 系统当前时间函数TIME( ), 结果为字符型C 【格式】DATE( ) 、DATETIME( )、TIME( ) (2)年份函数YEAR( ),结果为数值型N 【格式】YEAR(|) 【例2.25】? YEAR(2009-08-24) 输出结果:2009 (3)月份函数MONTH( ) ,结果为数值型N 【格式】MONTH(|) 【例2.26】? MONTH(2009-08-24) 输出结果:8,第2章 数据与数据运算,26,2.5 函数,日期时间函数 (4)日期函数DAY( ) ,结果为数值型N 【格式】DAY(|) 【例2.27】? DAY(2009-08-24) 输出结果:24 其它常用的日期时间函数,见下表。,第2章 数据与数据运算,27,2.5 函数,类型转换函数 (1)字符型转换成数值型函数VAL( ) 【格式】VAL() 【功能】把符合数字符号规则的字符串部分转换成数值,默认四舍五入保留两位小数。 【例2.28】? VAL(“23.756“),VAL(“2+3“) 输出结果:23.76 2.00 (2)数值型转换为字符型函数STR( ) 【格式】STR(, ,) 【功能】把N1转换成小数位为N3总长度为N2的字符型数据,省略N2、N3时表示不保留小数位长度默认为10,如果N2和N3不能同时满足,则优先保证整数位。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号