《数据库原理与应用Access学习教案.pptx》由会员分享,可在线阅读,更多相关《数据库原理与应用Access学习教案.pptx(96页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库原理数据库原理(yunl)与应用与应用Access第一页,共96页。第5章 查询(chxn)查询就是将一个或多个数据表中满足特定条查询就是将一个或多个数据表中满足特定条件的数据检索出来件的数据检索出来(ch li)(ch li)。查询不仅可。查询不仅可以基于数据表来创建,还可基于查询来创建以基于数据表来创建,还可基于查询来创建,同时,查询不仅可以根据指定条件来进行,同时,查询不仅可以根据指定条件来进行数据的查找,还可对数据进行计算、统计、数据的查找,还可对数据进行计算、统计、排序、筛选、分组、更新和删除等各种操作。排序、筛选、分组、更新和删除等各种操作。第1页/共96页第二页,共96页。
2、5.1 查询(chxn)概述 查询是对数据库表中的数据进行查询是对数据库表中的数据进行查询是对数据库表中的数据进行查询是对数据库表中的数据进行查找,产生动态表的过程。在查找,产生动态表的过程。在查找,产生动态表的过程。在查找,产生动态表的过程。在AccessAccess中可以中可以中可以中可以(ky)(ky)方便地创建查询,在创建方便地创建查询,在创建方便地创建查询,在创建方便地创建查询,在创建查询的过程中需要定义查询的内容和规查询的过程中需要定义查询的内容和规查询的过程中需要定义查询的内容和规查询的过程中需要定义查询的内容和规则,运行查询时系统将在指定的数据表则,运行查询时系统将在指定的数据
3、表则,运行查询时系统将在指定的数据表则,运行查询时系统将在指定的数据表中查找满足条件的记录,组成一个类似中查找满足条件的记录,组成一个类似中查找满足条件的记录,组成一个类似中查找满足条件的记录,组成一个类似数据表的动态表。数据表的动态表。数据表的动态表。数据表的动态表。第2页/共96页第三页,共96页。5.1.1 查询查询(chxn)的功能的功能1选择字段选择字段 2选择记录选择记录 3编辑编辑(binj)记录记录 4计算计算 5建立新表建立新表 6建立基于查询的报表和窗体建立基于查询的报表和窗体第3页/共96页第四页,共96页。5.1.2 查询(chxn)的类型 1选择查询选择查询2交叉交叉
4、(jioch)表查询表查询 3参数查询参数查询 4操作查询操作查询 5SQL查询查询第4页/共96页第五页,共96页。1选择(xunz)查询 选择查询是最常用的查询类型选择查询是最常用的查询类型(lixng),它是根据用户定义的查询内容和规则,从一它是根据用户定义的查询内容和规则,从一个或多个表中提取数据进行显示。个或多个表中提取数据进行显示。在选择查询中,还可以对记录进行分组,并在选择查询中,还可以对记录进行分组,并对分组后的记录进行总计、计数、平均及其对分组后的记录进行总计、计数、平均及其他类型他类型(lixng)的计算等。的计算等。第5页/共96页第六页,共96页。2交叉(jioch)表
5、查询 交叉表查询交叉表查询(chxn)是将某个数据表中的字是将某个数据表中的字段进行分组,一组作为查询段进行分组,一组作为查询(chxn)的行标的行标题,一组作为查询题,一组作为查询(chxn)的列标题,然后的列标题,然后在查询在查询(chxn)的行与列交叉处显示某个字的行与列交叉处显示某个字段的统计值。交叉表查询段的统计值。交叉表查询(chxn)是利用表是利用表中的行或列来进行数据统计的。它的数据源中的行或列来进行数据统计的。它的数据源是一张基础表。是一张基础表。第6页/共96页第七页,共96页。3参数(cnsh)查询 选择查询是在建立查询时就将查询准则进行选择查询是在建立查询时就将查询准则
6、进行定义,条件是固定的。参数查询是在运行查定义,条件是固定的。参数查询是在运行查询时利用对话框来提示用户输入查询准则的询时利用对话框来提示用户输入查询准则的一种查询。参数查询可以根据用户每次输入一种查询。参数查询可以根据用户每次输入的值来确定当前的查询条件,以满足的值来确定当前的查询条件,以满足(mnz)查询的要求。查询的要求。第7页/共96页第八页,共96页。4操作(cozu)查询 操作查询的查询内容和规则的设定与选择查询相同,但它们有一个很大操作查询的查询内容和规则的设定与选择查询相同,但它们有一个很大操作查询的查询内容和规则的设定与选择查询相同,但它们有一个很大操作查询的查询内容和规则的
7、设定与选择查询相同,但它们有一个很大的不同是:选择查询是按照指定的内容和条件查找满足要求的数据,将的不同是:选择查询是按照指定的内容和条件查找满足要求的数据,将的不同是:选择查询是按照指定的内容和条件查找满足要求的数据,将的不同是:选择查询是按照指定的内容和条件查找满足要求的数据,将查找到的数据进行查找到的数据进行查找到的数据进行查找到的数据进行(jnxng)(jnxng)展示;而操作查询是在查询中对所有满足条展示;而操作查询是在查询中对所有满足条展示;而操作查询是在查询中对所有满足条展示;而操作查询是在查询中对所有满足条件的记录进行件的记录进行件的记录进行件的记录进行(jnxng)(jnxn
8、g)编辑等操作,操作查询会对基础数据表产生影响编辑等操作,操作查询会对基础数据表产生影响编辑等操作,操作查询会对基础数据表产生影响编辑等操作,操作查询会对基础数据表产生影响或生成新的数据表,如生成表查询,即会生成一个新的数据表,更新查或生成新的数据表,如生成表查询,即会生成一个新的数据表,更新查或生成新的数据表,如生成表查询,即会生成一个新的数据表,更新查或生成新的数据表,如生成表查询,即会生成一个新的数据表,更新查询,则会根据更新条件对原数据表中的数据进行询,则会根据更新条件对原数据表中的数据进行询,则会根据更新条件对原数据表中的数据进行询,则会根据更新条件对原数据表中的数据进行(jnxng
9、)(jnxng)修改。修改。修改。修改。第8页/共96页第九页,共96页。Access的操作查询有如下(rxi)几种:(1 1)生成表查询)生成表查询)生成表查询)生成表查询利用一个或多个表中的全部或部分数据生成一个新的数据表。生成表查询通常用于重利用一个或多个表中的全部或部分数据生成一个新的数据表。生成表查询通常用于重利用一个或多个表中的全部或部分数据生成一个新的数据表。生成表查询通常用于重利用一个或多个表中的全部或部分数据生成一个新的数据表。生成表查询通常用于重新组织数据或创建备份表等。新组织数据或创建备份表等。新组织数据或创建备份表等。新组织数据或创建备份表等。(2 2)删除查询)删除查
10、询)删除查询)删除查询删除查询是将满足条件的记录从一个或多个数据表中删除。此操作会将基础数据表中删除查询是将满足条件的记录从一个或多个数据表中删除。此操作会将基础数据表中删除查询是将满足条件的记录从一个或多个数据表中删除。此操作会将基础数据表中删除查询是将满足条件的记录从一个或多个数据表中删除。此操作会将基础数据表中的记录删除掉。的记录删除掉。的记录删除掉。的记录删除掉。(3 3)更新查询)更新查询)更新查询)更新查询更新查询是对一个或多个表中的一组记录进行修改的查询。如对教师基本工资表中所更新查询是对一个或多个表中的一组记录进行修改的查询。如对教师基本工资表中所更新查询是对一个或多个表中的一
11、组记录进行修改的查询。如对教师基本工资表中所更新查询是对一个或多个表中的一组记录进行修改的查询。如对教师基本工资表中所有副教授的基本工资涨有副教授的基本工资涨有副教授的基本工资涨有副教授的基本工资涨10%10%等,可利用更新查询来实现。等,可利用更新查询来实现。等,可利用更新查询来实现。等,可利用更新查询来实现。(4 4)追加)追加)追加)追加(zhuji)(zhuji)查询查询查询查询追加追加追加追加(zhuji)(zhuji)查询是从一个或多个数据表中将满足条件的记录找出,并追加查询是从一个或多个数据表中将满足条件的记录找出,并追加查询是从一个或多个数据表中将满足条件的记录找出,并追加查询
12、是从一个或多个数据表中将满足条件的记录找出,并追加(zhuji)(zhuji)到另一个或多个数据表的尾部的操作。追加到另一个或多个数据表的尾部的操作。追加到另一个或多个数据表的尾部的操作。追加到另一个或多个数据表的尾部的操作。追加(zhuji)(zhuji)查询可用于多个表的查询可用于多个表的查询可用于多个表的查询可用于多个表的合并等。合并等。合并等。合并等。第9页/共96页第十页,共96页。5SQL查询(chxn)SQL查询就是利用查询就是利用SQL语句来实现的查询。语句来实现的查询。SQL查询将在下一章中详细查询将在下一章中详细(xingx)介绍,介绍,此章不再赘述。此章不再赘述。第10页
13、/共96页第十一页,共96页。5.2 表达式 在在Access中,表达式广泛地应用于表、查中,表达式广泛地应用于表、查询、窗体、报表、宏和事件过程等。表达式询、窗体、报表、宏和事件过程等。表达式由运算对象、运算符和括号组成,运算对象由运算对象、运算符和括号组成,运算对象包括常量包括常量(chngling)、函数和对象标识符、函数和对象标识符。Access中的对象标识符可以是数据表中中的对象标识符可以是数据表中的字段名称、窗体、报表名称、控件名称、的字段名称、窗体、报表名称、控件名称、属性名称等。属性名称等。第11页/共96页第十二页,共96页。5.2.1 常量(chngling)常量分为系统常
14、量和用户自定义常量,系统常量分为系统常量和用户自定义常量,系统常量如逻辑值常量如逻辑值True(真值)、(真值)、False(假值)(假值)和和Null(空值)。注意:空值不是(空值)。注意:空值不是(b shi)空格或空字符串,也不是空格或空字符串,也不是(b shi)0,而是,而是表示没有值。用户自定义常量又常称为字面表示没有值。用户自定义常量又常称为字面值,如数值值,如数值“100”、字符串、字符串“ABCD”和日和日期期“#08/8/8#”等。等。Access的常量类型包括数值型、字符型、的常量类型包括数值型、字符型、日期型和逻辑型。日期型和逻辑型。第12页/共96页第十三页,共96页
15、。1数值(shz)型 数值型常量数值型常量(chngling)包括整数和实数。包括整数和实数。整数如整数如123;实数,用来表示包含小数的数;实数,用来表示包含小数的数或超过整数示数范围的数,实数既可通过定或超过整数示数范围的数,实数既可通过定点数来表示,也可用科学计数法进行表示。点数来表示,也可用科学计数法进行表示。实数如实数如12.3或或0.123E2。第13页/共96页第十四页,共96页。2文本(wnbn)型 文本型常量由字母文本型常量由字母(zm)、汉字和数字等符、汉字和数字等符号构成的字符串。定义字符常量时需要使用号构成的字符串。定义字符常量时需要使用定界符,定界符,Access中字
16、符定界符有两种形式:中字符定界符有两种形式:单引号(单引号()、双引号()、双引号()。如字符串)。如字符串ABC或或ABC。第14页/共96页第十五页,共96页。3日期(rq)型 日期型常量即用来表示日期型数据。日期型常量用日期型常量即用来表示日期型数据。日期型常量用日期型常量即用来表示日期型数据。日期型常量用日期型常量即用来表示日期型数据。日期型常量用“#”“#”作为定界符,如作为定界符,如作为定界符,如作为定界符,如20082008年年年年7 7月月月月1818日,表示成常量即为日,表示成常量即为日,表示成常量即为日,表示成常量即为#08-7-18#08-7-18#,也可表示为,也可表示
17、为,也可表示为,也可表示为#08-07-18#08-07-18#。在年月日之间的分隔符也可采用在年月日之间的分隔符也可采用在年月日之间的分隔符也可采用在年月日之间的分隔符也可采用“/”“/”作为分隔符,即作为分隔符,即作为分隔符,即作为分隔符,即#08/7/18#08/7/18#或或或或#08/07/18#08/07/18#。对于对于对于对于(duy)(duy)日期型常量,年份输入为日期型常量,年份输入为日期型常量,年份输入为日期型常量,年份输入为2 2位时,如果年份在位时,如果年份在位时,如果年份在位时,如果年份在00290029范围内,范围内,范围内,范围内,系统默认为系统默认为系统默认为
18、系统默认为2000202920002029年;如果输入的年份在年;如果输入的年份在年;如果输入的年份在年;如果输入的年份在30993099之间,则系统默认之间,则系统默认之间,则系统默认之间,则系统默认为为为为1930199919301999年。如果要输入的日期数据不在默认的范围内,则应输入年。如果要输入的日期数据不在默认的范围内,则应输入年。如果要输入的日期数据不在默认的范围内,则应输入年。如果要输入的日期数据不在默认的范围内,则应输入4 4位年份数据。位年份数据。位年份数据。位年份数据。第15页/共96页第十六页,共96页。4逻辑(lu j)型 逻辑型常量有两个值,真值和假值,用逻辑型常量
19、有两个值,真值和假值,用 True(或(或-1)表示真值,用)表示真值,用False(或(或0)表示假值。系统不区分表示假值。系统不区分True和和False的字母的字母大小写。大小写。注意在数据表中输入逻辑值时,如果注意在数据表中输入逻辑值时,如果(rgu)需要输入值,则应输入需要输入值,则应输入-1表示真,表示真,0表示假,不能输入表示假,不能输入True或或False。第16页/共96页第十七页,共96页。5.2.2 Access常用(chn yn)函数 系统设计人员提供系统设计人员提供(tgng)了上百个的函数了上百个的函数以供用户使用。在以供用户使用。在Access使用过程中,函使用
20、过程中,函数名称不区分大小写。根据函数的数据类型数名称不区分大小写。根据函数的数据类型,我们将常用函数分为:数学型、文本型、,我们将常用函数分为:数学型、文本型、日期时间型、逻辑型和转换函数等。本节,日期时间型、逻辑型和转换函数等。本节,我们将对一部分常用函数进行介绍,如果需我们将对一部分常用函数进行介绍,如果需要更多的函数,请查阅帮助或系统手册。要更多的函数,请查阅帮助或系统手册。第17页/共96页第十八页,共96页。1数学(shxu)函数 函数函数功能功能示例示例函数值函数值Abs(number)求绝对值求绝对值Abs(-12.5)12.5Exp(number)e指数指数Exp(2.5)1
21、2.1825Int(number)自变量为正时,返回整数部分,舍去自变量为正时,返回整数部分,舍去小数部分;自变量为负时,返回不大小数部分;自变量为负时,返回不大于原值的整数于原值的整数Int(8.7)Int(-8.4)8-9Fix(number)无论自变量为正或负,均舍去小数部无论自变量为正或负,均舍去小数部分,返回整数分,返回整数Fix(8.7)Fix(-8.4)8-8Log(number)自然对数自然对数Log(3.5)1.253Rnd(number)产生产生01之间的随机数。自变量可缺省之间的随机数。自变量可缺省Rnd(2)01之间的随机之间的随机数数Sgn(number)符号函数。当
22、自变量的值为正时,返符号函数。当自变量的值为正时,返回回1;自变量的值为;自变量的值为0时,返回时,返回0;自变;自变量的值为负时,返回量的值为负时,返回-1Sgn(5)Sgn(0)Sgn(-5.6)10-1Sqr(number)平方根。自变量非负平方根。自变量非负Sqr(6)2.449Round(number,precision)四舍五入函数。第二个参数的取值为四舍五入函数。第二个参数的取值为非负整数,用于确定所保留的小数位非负整数,用于确定所保留的小数位数数Round(12.674,0)Round(12.674,2)1312.67第18页/共96页第十九页,共96页。2字符(z f)函数
23、函数函数功能功能示例示例函数值函数值Left(stringexpr,n)求左子串函数。从表达式左侧开始取求左子串函数。从表达式左侧开始取n个字符。个字符。每个汉字也作为每个汉字也作为1个字符个字符Left(北京北京,1)Left(Access,2)北北AcRight(stringexpr,n)求右子串函数。从表达式右侧开始取求右子串函数。从表达式右侧开始取n个字符。个字符。每个汉字也作为每个汉字也作为1个字符个字符Right(#2008-07-22#,3)Right(1234.56,3)-22.56Mid(stringexpr,m,n)求子串函数。从表达式中截取字符,求子串函数。从表达式中截取
24、字符,m、n是数是数值表达式,由值表达式,由m值决定从表达式值的第几个字符值决定从表达式值的第几个字符开始截取,由开始截取,由n值决定截取几个字符。值决定截取几个字符。n缺省,缺省,表示从第表示从第m个字符开始截取到尾部个字符开始截取到尾部Mid(中央财经大学中央财经大学,3,2)Mid(中央财经大学中央财经大学,3)财经财经财经大学财经大学Len(stringexpr)求字符个数。函数返回表达式值中的字符个数。求字符个数。函数返回表达式值中的字符个数。表达式可以是字符、数值、日期或逻辑型表达式可以是字符、数值、日期或逻辑型Len(#2008-7-22#)Len(中央财经大学中央财经大学)Le
25、n(True)1162UCase(stringexpr)将字符串中小写字母转换为大写字母函数将字符串中小写字母转换为大写字母函数UCase(Access)UCase(学习学习abc)ACCESS学习学习ABCLCase(stringexpr)将字符串中大写字母转换为小写字母函数将字符串中大写字母转换为小写字母函数LCase(Access)accessSpace(number)生成空格函数。返回指定个数的空格符号生成空格函数。返回指定个数的空格符号+Space(2)+InStr(C1,C2)查找子字符串函数。在查找子字符串函数。在C1中查找中查找C2的位置,即的位置,即C2是是C1的子串,则返回
26、的子串,则返回C2在在C1中的起始位置,中的起始位置,否则返回否则返回0InStr(One Dream,Dr)InStr(One Dream,Dor)50Trim(stringexpr)删除字符串首尾空格函数删除字符串首尾空格函数Trim(AA+BB)AA BBRTrim(stringexpr)删除字符串尾部空格函数删除字符串尾部空格函数RTrim(数据库数据库)数据库数据库LTrim(stringexpr)删除字符串首部空格函数删除字符串首部空格函数LTrim(数据库数据库)数据库数据库 String(n,stringexpr)字符重复函数。将字符串的第一个字符重复字符重复函数。将字符串的第
27、一个字符重复n次,次,生成一个新字符串生成一个新字符串String(3,你好你好)你你你你你你第19页/共96页第二十页,共96页。3日期(rq)时间函数 函数函数功能功能示例示例函数值函数值Date()日期函数。返回系统当前日期。无参函数日期函数。返回系统当前日期。无参函数Date()2008-07-22Time()时间函数。返回系统当前时间。无参函数时间函数。返回系统当前时间。无参函数Time()下午下午 03:33:51Now()日期时间函数。返回系统当前日期和时间,含年、月、日期时间函数。返回系统当前日期和时间,含年、月、日、时、分、秒。无参函数日、时、分、秒。无参函数Now()200
28、8-07-22 下午下午 03:33:51Day(dateexpr)求日函数。返回日期表达式中的日值求日函数。返回日期表达式中的日值Day(date()19Month(dateexpr)求月份函数。返回日期表达式中的月值求月份函数。返回日期表达式中的月值Month(date()3Year(dateexpr)求年份函数。返回日期表达式中的年值求年份函数。返回日期表达式中的年值Year(date()2009Weekday(dateexpr)求星期函数。返回日期表达式中的这一天是一周中的求星期函数。返回日期表达式中的这一天是一周中的第几天。函数值取值范围是第几天。函数值取值范围是17,系统默认星期日
29、是一,系统默认星期日是一周中的第周中的第1天天Weekday(date()4Hour(timeexpr)求小时函数。返回时间表达式中的小时值求小时函数。返回时间表达式中的小时值Hour(Time()15Minute(timeexpr)求分钟函数。返回时间表达式中的分钟值求分钟函数。返回时间表达式中的分钟值Minute(Time()33Second(timeexpr)求秒函数。返回时间表达式中的秒值求秒函数。返回时间表达式中的秒值Second(Time()51DateDiff(interval,date1,date2)求时间间隔函数。返回值为日期求时间间隔函数。返回值为日期2减去日期减去日期1的
30、值。日的值。日期期2大于日期大于日期1,得正值,否则得负值。时间间隔参数,得正值,否则得负值。时间间隔参数的不同将确定返回值的不同含义。具体使用参见表的不同将确定返回值的不同含义。具体使用参见表5-4 所示所示第20页/共96页第二十一页,共96页。表5.4 DateDiff函数用法(yn f)及示例 时间间隔参数时间间隔参数含义含义示例示例函数值函数值yyyy函数值为两个日期相差的年份函数值为两个日期相差的年份DateDiff(yyyy,#2008-07-22#,#2009-05-08#)1q函数值为两个日期相差的季度函数值为两个日期相差的季度DateDiff(q,#2008-07-22#,
31、#2009-05-08#)3m函数值为两个日期相差的月份函数值为两个日期相差的月份DateDiff(m,#2008-07-22#,#2009-05-08#)10y,d函数值为两个日期相差的天数,参数函数值为两个日期相差的天数,参数y和和d作作用相同用相同DateDiff(d,#2008-07-22#,#2009-05-08#)290w函数值为两个日期相差的周数(满函数值为两个日期相差的周数(满7天为一周)天为一周),当相差不足,当相差不足7天时,返回天时,返回0DateDiff(w,#2008-07-22#,#2009-05-08#)DateDiff(w,#2008-07-22#,#2008-
32、07-26#)410第21页/共96页第二十二页,共96页。4转换(zhunhun)函数 函数函数功能功能示例示例函数值函数值Asc(stringexpr)返回字符串第一个字符的返回字符串第一个字符的ASCII码码Asc(ABC)65Chr(charcode)返回返回ASCII码对应的字符码对应的字符Char(66)BStr(number)将数值转换为字符串。如果转换结果是正数,将数值转换为字符串。如果转换结果是正数,则字符串前添加一个空格。则字符串前添加一个空格。Str(12345)Str(-1234)12345-12345 Val(stringexpr)将字符串转换为数值型数据将字符串转换
33、为数值型数据Val(12.3A)Val(124d.3A)12.3124第22页/共96页第二十三页,共96页。5.2.3 表达式 表达式是由运算符和括号将运算对象连接起来的式子。常量(chngling)和函数可以看成是最简单的表达式。表达式通常根据运算符的不同将表达式分为算术表达式、字符表达式、关系表达式和逻辑表达式。第23页/共96页第二十四页,共96页。1算术(sunsh)表达式 算术表达式是由算术运算符和数值型常量、数值型对象算术表达式是由算术运算符和数值型常量、数值型对象算术表达式是由算术运算符和数值型常量、数值型对象算术表达式是由算术运算符和数值型常量、数值型对象(duxing)(d
34、uxing)标识符、标识符、标识符、标识符、返回值为数值型数据的函数组成。它的运算结果仍为数值型数据。返回值为数值型数据的函数组成。它的运算结果仍为数值型数据。返回值为数值型数据的函数组成。它的运算结果仍为数值型数据。返回值为数值型数据的函数组成。它的运算结果仍为数值型数据。运算符运算符功能功能表达式示例表达式示例表达式值表达式值-取负值,单目取负值,单目运算运算-42-42+-621652幂幂4216*、/乘、除乘、除16*2/56.4整除整除16*256Mod模运算(求余模运算(求余数)数)87 Mod 987 Mod-9-87 Mod 9-87 Mod-966-6-6+、-加、减加、减8
35、+6-122第24页/共96页第二十五页,共96页。在进行算术运算时,要根据运算符的优先级在进行算术运算时,要根据运算符的优先级来进行。算术运算符的优先级顺序如下:先来进行。算术运算符的优先级顺序如下:先括号,在同一括号内,单目运算的优先级最括号,在同一括号内,单目运算的优先级最高,然后高,然后(rnhu)先幂,再乘除,再模运算先幂,再乘除,再模运算,后加减。,后加减。第25页/共96页第二十六页,共96页。注意:在算术表达式中,当注意:在算术表达式中,当“+”号运算符号运算符的两侧的两侧(lin c)的数据类型不一致,一侧的数据类型不一致,一侧是数值型数据,一侧是数值字符串时,完成是数值型数
36、据,一侧是数值字符串时,完成的是算术运算,当两侧的是算术运算,当两侧(lin c)均为数值均为数值符号串时,系统完成的是连接运算,而不是符号串时,系统完成的是连接运算,而不是算术运算。算术运算。第26页/共96页第二十七页,共96页。在使用算术运算符进行日期运算时,可进行的运算只有如两种情况:在使用算术运算符进行日期运算时,可进行的运算只有如两种情况:在使用算术运算符进行日期运算时,可进行的运算只有如两种情况:在使用算术运算符进行日期运算时,可进行的运算只有如两种情况:(1 1)“+”“+”运算:加号可用于一个日期与另一个整数(也可以是数字符号串或逻辑值)相运算:加号可用于一个日期与另一个整数
37、(也可以是数字符号串或逻辑值)相运算:加号可用于一个日期与另一个整数(也可以是数字符号串或逻辑值)相运算:加号可用于一个日期与另一个整数(也可以是数字符号串或逻辑值)相加,得到一个新日期。加,得到一个新日期。加,得到一个新日期。加,得到一个新日期。例如,表达式例如,表达式例如,表达式例如,表达式#2008-07-22#+56#2008-07-22#+56的值为的值为的值为的值为2008-09-162008-09-16;表达式;表达式;表达式;表达式#2008-07-22#+True#2008-07-22#+True的值为的值为的值为的值为2008-07-212008-07-21;表达式;表达式
38、;表达式;表达式#2008-07-22#+5#2008-07-22#+5的值为的值为的值为的值为2008-07-272008-07-27。(2 2)“-”“-”运算:减号可用于一个日期减去一个整数(也可以是数字符号串或逻辑值),运算:减号可用于一个日期减去一个整数(也可以是数字符号串或逻辑值),运算:减号可用于一个日期减去一个整数(也可以是数字符号串或逻辑值),运算:减号可用于一个日期减去一个整数(也可以是数字符号串或逻辑值),得到一个新日期;减号也可用于两个日期相减,差为这两个日期相关得到一个新日期;减号也可用于两个日期相减,差为这两个日期相关得到一个新日期;减号也可用于两个日期相减,差为这
39、两个日期相关得到一个新日期;减号也可用于两个日期相减,差为这两个日期相关(xinggun)(xinggun)的天数。的天数。的天数。的天数。例如,表达式例如,表达式例如,表达式例如,表达式#2008-07-22#-#2008-5-1#2008-07-22#-#2008-5-1#的值为的值为的值为的值为8282,表达式,表达式,表达式,表达式#2008-07-22#-82#2008-07-22#-82的值为的值为的值为的值为2008-2008-05-0105-01。第27页/共96页第二十八页,共96页。2字符(z f)表达式 字符表达式是由字符运算符和字符型常量、字符型对象标识符、返回值为字符
40、型数据的函数字符表达式是由字符运算符和字符型常量、字符型对象标识符、返回值为字符型数据的函数字符表达式是由字符运算符和字符型常量、字符型对象标识符、返回值为字符型数据的函数字符表达式是由字符运算符和字符型常量、字符型对象标识符、返回值为字符型数据的函数(hnsh)(hnsh)等构成的等构成的等构成的等构成的表达式,表达式的值仍为字符型数据。表达式,表达式的值仍为字符型数据。表达式,表达式的值仍为字符型数据。表达式,表达式的值仍为字符型数据。运算符运算符功能功能表达式示例表达式示例表达式值表达式值+连接两个字符型数据。连接两个字符型数据。返回值为字符型数据返回值为字符型数据123+123总计:总
41、计:+10*35.4123123#错误错误&将两个表达式的值进行将两个表达式的值进行首尾相接。返回值为字首尾相接。返回值为字符型数据符型数据123&123123&123打印日期打印日期&Date()总计:总计:&10*35.4123123123123打印日期打印日期2008-07-22总计:总计:354第28页/共96页第二十九页,共96页。注意(zh y):(1)“+”运算运算(yn sun)符的两个运算符的两个运算(yn sun)量都是字符表达式时才能进行连量都是字符表达式时才能进行连接运算接运算(yn sun);(2)“&”运算运算(yn sun)符是将两个表达符是将两个表达式的值进行首
42、尾相接。表达式的值可以是字式的值进行首尾相接。表达式的值可以是字符、数值、日期或逻辑型数据。如果表达式符、数值、日期或逻辑型数据。如果表达式的值非字符型,则系统先将它转换为字符,的值非字符型,则系统先将它转换为字符,再进行连接运算再进行连接运算(yn sun)。可用来将多个。可用来将多个表达式的值连接在一起。表达式的值连接在一起。第29页/共96页第三十页,共96页。3关系(gun x)表达式 关系表达式可由关系运算符和字符关系表达式可由关系运算符和字符(z f)表达式、算术表达式组成,它的运算结果为表达式、算术表达式组成,它的运算结果为逻辑值。关系运算时是运算符两边同类型的逻辑值。关系运算时
43、是运算符两边同类型的元素进行比较,关系成立,则表达式的值为元素进行比较,关系成立,则表达式的值为真(真(True),否则为假(),否则为假(False)。)。第30页/共96页第三十一页,共96页。表5.8 关系运算符功能(gngnng)及示例 运算符运算符功能功能表达式示例表达式示例表达式值表达式值120False大于大于aAFalse=等于等于abc=AbcTrue 不等于不等于4 5True=小于等于小于等于3*3=大于等于大于等于TrueFalseFalseIs Null左侧的表达式值为空左侧的表达式值为空 Is NullFalseIs Not Null左侧的表达式值不为空左侧的表达式
44、值不为空 Is Not NullTrueIn判断左侧的表达式的值是否判断左侧的表达式的值是否在右侧的值列表中在右侧的值列表中中中 In(大大,中中,小小)Date()In(#2008-07-01#,#2008-07-31#)20 In(10,20,30)TrueFalseTrueBetween And判断左侧的表达式的值是否判断左侧的表达式的值是否在指定的范围内。闭区间在指定的范围内。闭区间Date()Between#2008-07-01#And#2008-07-31#B Between a And z54 Between 60 And 78FalseTrueFalseLike判断左侧的表达式
45、的值是否判断左侧的表达式的值是否符合右侧指定的模式符。如符合右侧指定的模式符。如果符合,返回真值,否则为果符合,返回真值,否则为假假abc Like abcde123 Like#2#x4e的的2 Like x#a-f?!4-7n1 Like NPT?False TrueTrueTrue第31页/共96页第三十二页,共96页。关系运算遵循关系运算遵循(zn xn)(zn xn)如下规则:如下规则:(1 1)数值型数据按照数值大小比较;)数值型数据按照数值大小比较;)数值型数据按照数值大小比较;)数值型数据按照数值大小比较;(2 2)字符型数据按照字符的)字符型数据按照字符的)字符型数据按照字符的
46、)字符型数据按照字符的ASCIIASCII码比较,但字母不区分大小写。码比较,但字母不区分大小写。码比较,但字母不区分大小写。码比较,但字母不区分大小写。汉字默认的按拼音顺序进行比较;汉字默认的按拼音顺序进行比较;汉字默认的按拼音顺序进行比较;汉字默认的按拼音顺序进行比较;(3 3)日期型数据,日期在前的小,在后的大;)日期型数据,日期在前的小,在后的大;)日期型数据,日期在前的小,在后的大;)日期型数据,日期在前的小,在后的大;(4 4)逻辑型数据,逻辑值)逻辑型数据,逻辑值)逻辑型数据,逻辑值)逻辑型数据,逻辑值FalseFalse(0 0)大于)大于)大于)大于TrueTrue(-1-1
47、););););(5 5)LikeLike在模式符中支持通配符。在模式符中可使用通配符在模式符中支持通配符。在模式符中可使用通配符在模式符中支持通配符。在模式符中可使用通配符在模式符中支持通配符。在模式符中可使用通配符“?”表示一个字符(字母、汉字或数字),通配符表示一个字符(字母、汉字或数字),通配符表示一个字符(字母、汉字或数字),通配符表示一个字符(字母、汉字或数字),通配符“*”“*”表示零表示零表示零表示零个或多个个或多个个或多个个或多个(du)(du)字符(字母、汉字或数字),通配符字符(字母、汉字或数字),通配符字符(字母、汉字或数字),通配符字符(字母、汉字或数字),通配符“#
48、”“#”表示表示表示表示一个数字。在模式符中使用中括号(一个数字。在模式符中使用中括号(一个数字。在模式符中使用中括号(一个数字。在模式符中使用中括号()可为)可为)可为)可为LikeLike左侧该位置的左侧该位置的左侧该位置的左侧该位置的字符或数字限定一个范围。如字符或数字限定一个范围。如字符或数字限定一个范围。如字符或数字限定一个范围。如a-da-d,即表示,即表示,即表示,即表示a a、b b、c c、d d中的任中的任中的任中的任何一个符号;若在中括号内指定的字符或数字范围前使用何一个符号;若在中括号内指定的字符或数字范围前使用何一个符号;若在中括号内指定的字符或数字范围前使用何一个符
49、号;若在中括号内指定的字符或数字范围前使用“!”号,则表示不在该范围内,如号,则表示不在该范围内,如号,则表示不在该范围内,如号,则表示不在该范围内,如!2-4!2-4,即除,即除,即除,即除2 2、3 3、4 4之外的任意之外的任意之外的任意之外的任意数字;数字;数字;数字;(6 6)在运算符)在运算符)在运算符)在运算符LikeLike前面可以使用逻辑运算符前面可以使用逻辑运算符前面可以使用逻辑运算符前面可以使用逻辑运算符NotNot,表示相反的条,表示相反的条,表示相反的条,表示相反的条件。件。件。件。第32页/共96页第三十三页,共96页。4逻辑(lu j)表达式 逻辑表达式可由逻辑运
50、算符和逻辑型常量、逻辑表达式可由逻辑运算符和逻辑型常量、逻辑型对象标识符、返回逻辑型数据的函数逻辑型对象标识符、返回逻辑型数据的函数和关系和关系(gun x)运算符组成,其运算结果仍运算符组成,其运算结果仍是逻辑值。是逻辑值。第33页/共96页第三十四页,共96页。表5.9 算术(sunsh)运算符功能及示例 运算符运算符功能功能表达式示例表达式示例表达式值表达式值Not非非Not 3+4=7FalseAnd与与Aa And 1+3*615FalseOr或或Aa Or 1+3*615TrueXor异或异或Aa Xor 1+3*615TrueEqv逻辑等价逻辑等价Aa Eqv 1+3*615 F