级Access中的表达式.ppt
Access中的表达中的表达式式常量常量n常量通常分为系统定义常量和用户自定常量通常分为系统定义常量和用户自定义常量。义常量。n系统定义常量:系统定义常量:n逻辑值逻辑值True(真值)和(真值)和False(假值)。用(假值)。用0表示逻辑假,表示逻辑假,1表示逻辑真表示逻辑真nNull(空值),空值表示未定义值,而不是(空值),空值表示未定义值,而不是空格或空格或0。Access中常量的类型中常量的类型n数值型:整数或实数数值型:整数或实数n日期型:日期型常量要用日期型:日期型常量要用“#”作为定界符,作为定界符,如如2006年年3月月15日应该表示为日应该表示为#06-3-15#,年月日之间也可用,年月日之间也可用“/”来作分隔符。来作分隔符。n字符型:用西文单引号或西文双引号作为字符型:用西文单引号或西文双引号作为定界符定界符n逻辑型:有两个,逻辑真用逻辑型:有两个,逻辑真用True(或(或-1)表示,逻辑假用表示,逻辑假用False(或(或0)表示。)表示。运算符运算符算术运算符算术运算符-负号负号乘方乘方*、/乘法、除法乘法、除法整除整除Mod求余求余+、-加法、减法加法、减法算术表达式算术表达式表达式表达式值值说明说明-224负号的优先级高于乘方负号的优先级高于乘方7-2-3数字字符先转换为数值数字字符先转换为数值,再进再进行整除运算行整除运算52*21先进行乘法运算先进行乘法运算,再整除再整除5/2*25先除法先除法,再乘法再乘法True3-1True作为作为-1参加运算参加运算,False作为作为0参加运算参加运算-15 mod 6-3求余运算求余运算日期运算日期运算n使用加号使用加号(+):加号可用于一个日期与一加号可用于一个日期与一个整数个整数(也可以是数字字符串或逻辑值也可以是数字字符串或逻辑值)n使用减号使用减号(-):减号可用于一个日期减去减号可用于一个日期减去一个整数一个整数(也可以是数字字符串或逻辑值也可以是数字字符串或逻辑值),得到一个新日期得到一个新日期;也可两个日期相减也可两个日期相减,得到一个整数得到一个整数,表示两个日期之间相关的表示两个日期之间相关的天数天数日期表达式示例日期表达式示例表达式表达式值值说明说明#06-3-5#+12006-3-6日期加数值日期加数值#06-3-5#-#05-10-1#155两个日期相减两个日期相减,得得到相差的天数到相差的天数#06-3-5#-8 2006-2-25数值字符转换为数数值字符转换为数值后再进行运算值后再进行运算#06-3-5#+True2003-3-4连接运算符连接运算符n连接运算符连接运算符+n格式格式:字符表达式字符表达式1+字符表达式字符表达式2n功能功能:将字符表达式将字符表达式2的值连接在字符表达式的值连接在字符表达式1的值的尾部的值的尾部,生成一个新的字符串生成一个新的字符串.n注意注意:必须是两个表达式均为字符串时才能必须是两个表达式均为字符串时才能进行连接运算进行连接运算连接运算符连接运算符n连接运算符连接运算符&n格式格式:表达式表达式1&表达式表达式2n功能功能:将表达式将表达式2的值连接在表达式的值连接在表达式1的尾部的尾部,表达式表达式1和表达式和表达式2的值可以是字符、数值、的值可以是字符、数值、日期或逻辑型数据。日期或逻辑型数据。n如果表达式的值是数值、日期或逻辑值,如果表达式的值是数值、日期或逻辑值,Access先把它们转换成字符,再进行连接先把它们转换成字符,再进行连接运算,可将多个表达式的值连接在一起。运算,可将多个表达式的值连接在一起。连接运算符示例连接运算符示例表达式表达式值值说明说明“ABC”&”XYZ”ABCXYZ字符与字符连接字符与字符连接123&123123123数值与数值连接数值与数值连接False&True0-1逻辑值与逻辑值连逻辑值与逻辑值连接接“打印日期打印日期:”-3-5#打印日期打印日期:2006-3-5字符与日期连接字符与日期连接“总计总计:”&25*4总计总计:100字符与表达式的值字符与表达式的值连接连接比较运算符比较运算符-常用比较运算常用比较运算符符=等于等于大于大于小于小于不等于不等于=大于或等于大于或等于”a”0字母进行比较时不区分大字母进行比较时不区分大小写小写“大大”小小”0汉字默认的比较方式是按汉字默认的比较方式是按拼音顺序拼音顺序Truefalse0“ABC”=“AB”0比较运算符比较运算符ISn格式:表达式格式:表达式 IS Nulln功能:如果表达式的值为空,结果为功能:如果表达式的值为空,结果为-1,否则为,否则为0n格式:表达式格式:表达式 Is Not Nulln功能:如果表达式的值不为空,结果功能:如果表达式的值不为空,结果为为-1,否则为,否则为0比较运算符比较运算符Inn功能:判断功能:判断In左侧表达式的值是否出左侧表达式的值是否出现在现在In右侧的各个值中;如果在,结右侧的各个值中;如果在,结果为真值,否则为假值。在运算符果为真值,否则为假值。在运算符In前面可以使用逻辑运算符前面可以使用逻辑运算符Not,表示相,表示相反的条件反的条件比较运算符比较运算符In用法示例用法示例?表达式表达式值值“中中”In(中中,大大,小小)-1Date()In(#06-3-5#,#04-3-5#)056 In(67,85,97)0A Not In(“a”,”b”,”c”)-1比较运算符比较运算符Between andn功能:判断功能:判断Between左侧表达式的左侧表达式的值是否在值是否在Between And指定的范指定的范围内,如果在,则为真传,否则为假围内,如果在,则为真传,否则为假值。值。Not放在放在Between之前,表示条之前,表示条件相反。件相反。BetweenAnd用法示例用法示例表达式表达式值值Date()Between Date()-1 And Date()+1-1Date()Not Between#05-3-5#And#05-12-13#-1“B”Between“a”And“d”-112 Between 10 And 20-1099 Between 10 And 200比较运算符比较运算符Liken功能:判断功能:判断Like左侧的表达式的值是否左侧的表达式的值是否符合右侧指定的模式符,如果符合,则符合右侧指定的模式符,如果符合,则返回真值,否则,为假值。返回真值,否则,为假值。n注意:模式符放在定界符单引号或双引注意:模式符放在定界符单引号或双引号之间。模式符中使用中括号号之间。模式符中使用中括号,即限,即限定一个范围定一个范围n通配符通配符#表示一个数字,表示一个数字,*表示零个或多表示零个或多个字符,?表示一个字符。个字符,?表示一个字符。Like用法示例用法示例表达式表达式值值“123”Like“#2#”-1“北京北京”Like“*北京北京*”-1#02-9-3#Like“02*”0#02-9-3#Like“2002*”-1“n1”Like“NPT?”-1“x2e大大9”Like“x#A-G?!4-8”-1逻辑运算符逻辑运算符Not逻辑非逻辑非And逻辑与逻辑与Or逻辑或逻辑或函数函数nAccess提供上百个函数,这里介绍常用提供上百个函数,这里介绍常用函数。其他的可通过函数。其他的可通过“帮助帮助”去查询。去查询。n函数使用时,名称的字母不分大小写。函数使用时,名称的字母不分大小写。zhi数值运算函数数值运算函数nInt 取整函数取整函数n格式:格式:Int(数值表达式数值表达式)n功能:当数值部分是正数时,函数值是表达功能:当数值部分是正数时,函数值是表达式值的整数部分;当是负整数时,函数值是式值的整数部分;当是负整数时,函数值是表达式的值,当是非整数时,函数值为最接表达式的值,当是非整数时,函数值为最接近且小于表达式的值。近且小于表达式的值。n说明:如果自变量是数字字符串,先将字符说明:如果自变量是数字字符串,先将字符串转换为数值,再取整运算串转换为数值,再取整运算Int函数用法示例函数用法示例函数函数值值说明说明Int(35.1)35结果为不大于原数值的整数结果为不大于原数值的整数Int(-35.7)-36Int(-35.1)-36Int(1-35.8)-35先计算,再取整先计算,再取整int(-34.1)-35先转换为数值,再计算先转换为数值,再计算Int(1-34.5)错误错误此为非数值字符串此为非数值字符串Fix取整函数取整函数n格式:格式:Fix(取整函数)取整函数)n功能:函数的自变量是数值表达式,无功能:函数的自变量是数值表达式,无论数值表达式的值是正数还是负数,函论数值表达式的值是正数还是负数,函数值都是表达式值的整数部分,舍去小数值都是表达式值的整数部分,舍去小数部分(不进位)。数部分(不进位)。n数值表达式的值为正时,函数值小于或数值表达式的值为正时,函数值小于或等于自变量的值,自变量的值为负时,等于自变量的值,自变量的值为负时,函数值大于或等于自变量的值函数值大于或等于自变量的值Fix函示用法示例函示用法示例函数函数值值说明说明fix(35.1)35fix(-35.7)-35fix(-0.1)0fix(1-35.8)-34先计算,再取整先计算,再取整fix(-34.1)-34先转换为数值,再计算先转换为数值,再计算fix(1-34.5)错误错误 此为非数值字符串此为非数值字符串平方根函数平方根函数n格式:格式:Sqr(数值表达式)数值表达式)n功能:函数的自变量是数值表达式,函功能:函数的自变量是数值表达式,函数值是数值表达式值的平方根,数值表数值是数值表达式值的平方根,数值表达式的值必须大于或等于达式的值必须大于或等于0。n说明:说明:Sqr函数的自变量也可以是数字字函数的自变量也可以是数字字符串,如果是,先转换,再计算。符串,如果是,先转换,再计算。日期函数日期函数n格式:格式:Date()n功能:无自变量。返回系统当前的日期。功能:无自变量。返回系统当前的日期。函数值是日期型数据。函数值是日期型数据。时间函数时间函数n格式:格式:Time()n功能:无自变量。返回系统当前的时间。功能:无自变量。返回系统当前的时间。函数是时间型数据。函数是时间型数据。日期时间型函数日期时间型函数n格式:格式:Now()n功能:无自变量。返回系统当前的日期功能:无自变量。返回系统当前的日期和时间。函数值是日期时间型数据。和时间。函数值是日期时间型数据。求日函数求日函数n格式:格式:Day(日期表达式日期表达式)n功能:自变量为日期时间型数据。返回功能:自变量为日期时间型数据。返回日期表达式的日值。函数值的数据类型日期表达式的日值。函数值的数据类型是数值型。是数值型。求月份函数求月份函数n格式:格式:Month(日期表达式日期表达式)n功能:自变量是日期表达式。返回该表功能:自变量是日期表达式。返回该表达式值中的月份数。函数值是数值型。达式值中的月份数。函数值是数值型。求年份函数求年份函数n格式:格式:Year(日期表达式日期表达式)n功能:自变量是日期表达式。返回该表功能:自变量是日期表达式。返回该表达式值中的达式值中的4位年份数。函数值是数值型。位年份数。函数值是数值型。求星期函数求星期函数n功能:功能:Weekday(日期表达式日期表达式)n功能:自变量为日期表达式,函数值计功能:自变量为日期表达式,函数值计算这天是周几。函数取值范围是算这天是周几。函数取值范围是17,系统默认星期日是一周的第系统默认星期日是一周的第1天,星期一天,星期一是第是第2天。函数值是数值型数据。天。函数值是数值型数据。日期时间型函数用法示例日期时间型函数用法示例函数函数值值函数函数值值Date()2006-3-7Month(Date()3Time()14:04:29Year(Date()2006Now()2006-3-7 14:04:29Weekday(date()3Day(Date()7Year(#06-3-5#)-101996求日期间隔函数求日期间隔函数n格式:格式:DateDiff(时间间隔,日期时间间隔,日期1,日,日期期2)n功能:返回两个指定日期间的时间间隔,功能:返回两个指定日期间的时间间隔,函数值为日期函数值为日期2减去日期减去日期1的值。若日期的值。若日期2大于日期大于日期1,得正值;否则,得负值。,得正值;否则,得负值。函数值是数值型数据。函数值是数值型数据。时间间隔的设定值及含义时间间隔的设定值及含义时间间隔时间间隔参数参数含义含义yyyy函数值为两个日期相差的年份函数值为两个日期相差的年份q函数值为两个日期相差的季度函数值为两个日期相差的季度m函数值为两个日期相差的月份函数值为两个日期相差的月份y,d函数值为两个日期相差的天数函数值为两个日期相差的天数w函数值为两个日期相差的周数(满函数值为两个日期相差的周数(满7天天为一周)为一周)Datediff函数用法示例函数用法示例函数函数值值说明说明Datediff(“yyyy”,#06-3-5#,#03-12-31#)-3相差的年份数相差的年份数Datediff(“q”,#06-3-10#,#06-4-1#)1相差的季度数相差的季度数Datediff(“m”,#06-3-10#,#06-4-1#)1相差的月份数相差的月份数Datediff(“y”,#06-3-10#,#06-4-1#)22相差的天数相差的天数Datediff(“w”,#06-3-10#,#06-4-1#)3相差的周数相差的周数字符函数字符函数n求左子串函数求左子串函数n格式:格式:left(表达式,表达式,n)n功能:从表达式值的左端开始截取功能:从表达式值的左端开始截取n个字个字符,每个汉字作为一个字符。符,每个汉字作为一个字符。n函数值是字符型数据函数值是字符型数据n说明:自变量可以是字符、数值或逻辑说明:自变量可以是字符、数值或逻辑型数据型数据取右子串函数取右子串函数n格式:格式:right(表达式表达式,n)n功能:从表达式的右端开始截取功能:从表达式的右端开始截取n个字符,个字符,一个汉字为一个字符。一个汉字为一个字符。n函数值是字符型数据函数值是字符型数据n说明:自变量可以是字符、数值或逻辑说明:自变量可以是字符、数值或逻辑型数据型数据求子串函数求子串函数n格式:格式:Mid(表达式表达式,m,n)n功能:从表达式的值中截取字符,功能:从表达式的值中截取字符,m、n是数值表是数值表达式,由同决定截取的起始位置,达式,由同决定截取的起始位置,n为截取字符的为截取字符的个数。如果个数。如果n省略,则从指定位置到结束;若省略,则从指定位置到结束;若m的的值大于字符串长度,返回空串;如果值大于字符串长度,返回空串;如果n的值大于从的值大于从指定位置开始的剩余字符的个数,截取到字符串指定位置开始的剩余字符的个数,截取到字符串的结尾。函数值为字符型数据。的结尾。函数值为字符型数据。n说明:自变量可以是字符、数值或逻辑型数据说明:自变量可以是字符、数值或逻辑型数据Left、Right、Mid函数示函数示例例函数函数值值函数函数值值Left(“北京北京”,1)北北Right(55.78,3).78Left(#06-3-7#,4)06-3Right(True,1)1Right(北京北京,1)京京Left(3*4+12,1)2Mid(中央财经大中央财经大学学,3,2)财经财经Mid(#2006-3-7#,”4”,”2”)6-求字符个数函数求字符个数函数n格式:格式:Len(表达式表达式)n功能:返回字符表达式中字符的个数。功能:返回字符表达式中字符的个数。函数值是数值型数据。函数值是数值型数据。n说明:自变量可以是字符、数值或逻辑说明:自变量可以是字符、数值或逻辑型数据型数据Len函数用法示例函数用法示例函数函数值值函数函数值值Len(中央财经大学中央财经大学)6Len(12345)5Len(3+8*4)2Len(#2006-3-6#)8Len(True)2Len(False)1Len(#2006-12-31#)10 Len(“12+34”)5Len(“ABCD123”)7Len(True+1)1小写转大写函数小写转大写函数n格式:格式:Ucase(字符表达式字符表达式)n功能:将字符表达式值中的小写字母转功能:将字符表达式值中的小写字母转换为大写字母,其他字符不变换为大写字母,其他字符不变n函数值是字符型数据函数值是字符型数据大写转小写函数大写转小写函数n格式:格式:Lcase(字符表达式字符表达式)n功能:将字符表达式值中的大写字母转功能:将字符表达式值中的大写字母转换为小写字母,其他字符不变换为小写字母,其他字符不变n函数值是字符型数据函数值是字符型数据生成空格函数生成空格函数n格式:格式:Space(n)n功能:返回由功能:返回由n个空格组成的字符串。个空格组成的字符串。N是数值表达式。是数值表达式。n函数值是字符型数据函数值是字符型数据字符重复函数字符重复函数n格式:格式:String(n,字符表达式字符表达式)n功能:将字符表达式值的第一个字符重功能:将字符表达式值的第一个字符重复复n次,生成一个新字符串。次,生成一个新字符串。n是数值表是数值表达式。函数值是字符型数据。达式。函数值是字符型数据。n说明:函数自变量字符表达式的位置也说明:函数自变量字符表达式的位置也可以使用可以使用ASCII码。码。函数用法示例函数用法示例函数函数值值Ucase(Access”)ACCESSLcase(Access)access*+space(1)+*String(3,”#”)#String(3*2,98)bbbbbb条件函数条件函数n格式:格式:IIf(逻辑表达式,表达式逻辑表达式,表达式1,表达式,表达式2)n功能:如果逻辑表达式的值为真,函数值为表功能:如果逻辑表达式的值为真,函数值为表达式达式1,否则,函数值为表达式,否则,函数值为表达式2函数函数值值IIf(Truefalse,”真值大真值大“,”假值大假值大“假值大假值大IIf(“a”=“A”,”一样大一样大“,”不一样大不一样大“)一样大一样大IIf(“a”A”,”a大大“,”a不大于不大于A”)a不大于不大于A