4.2.2 运算符和表达式
Access提供多种不同类型的运算符,主要有算术运算符、关系运算符、逻辑运算符、连接运算符和特殊运算符,不同的运算符用来构成不同的表达式,完成不同的运算。
表达式是由运算符、常量、函数等组合而成,根据运算符的类型不同,可以将表达式分为算术表达式、关系表达式、逻辑表达式和字符表达式等类型。
1.算术运算符
算术运算符用于数值的算术运算,如表4-2所示。
表4-2 算术运算符
算术运算符之间存在优先级,优先级是决定算术表达式的运算顺序的原则,算术运算符优先级从高到低依次为乘幂、乘除、整除、求模和加减。
由算术运算符、数值、括号和正负号等构成的表达式称为算术表达式。
2.关系运算符
关系运算符是用来表示相同数据类型的数据之间的大小关系,关系运算符有6种,运算结果为逻辑值“真(True)”和“假Flase)”,如表4-3所示。
表4-3 关系运算符
6种关系运算符的优先级是相同的,如果它们出现在同一个表达式中,按照从左到右的顺序依次运算。关系运算符比算术运算符的优先级低。
运算规则的说明:
数字型数据按数值大小进行比较。
字符型数据按ASCII码顺序从左到右一一对应进行比较,排在前面为小,后面为大。
日期型数据按年、月、日顺序进行比较。
3.逻辑运算符
逻辑运算符用于条件的合成及转换,连接两个或多个关系式,对操作数进行逻辑运算,运算结果是逻辑值“True”或“False”。常见的逻辑运算有“Not”、“And”、“Or”,“Not”是单目运算符外,“And”和“Or”是双目运算符,如表4-4所示。
表4-4 逻辑运算符
逻辑运算符之间的优先级从高到低的顺序为“Not”、“And”和“Or”。逻辑运算符的优先级低于关系运算符。
4.字符串连接运算符
字符串连接运算符具有连接两个字符串的功能。有两个“&”和“+”,如表4-5所示。
表4-5 字符串运算符
对“+”运算符说明,当运算符两边均为数值时,进行加法运算;运算符一边为字符串,另一边为数值型时,则先将数字字符转换为数值,然后进行加法运算;运算符一边为数值型,另一边为非数值的字符串,则出错。
示例:
"Access"&"数据库管理系统" 计算结果:"Access数据库管理系统"
"日期:"&#2010-8-1#计算结果:"日期:2010-8-1"
"123"+"456"计算结果:"123456"
"123"+456计算结果:579
"abc"+123#错误
5.特殊运算符
特殊运算符主要包括in、between and、like、is Null、is not null,运算结果为逻辑值“True”或“False”,如表4-6所示。
表4-6 特殊运算符
Like运算符可以使用通配符,通配符的含义如下:
?:表示该位置可以匹配任何一个字符。
*:表示该位置可以匹配0个或多个字符。
#:表示该位置可以匹配任何一个数字(0~9)。
[字符表或字符上界-字符下界]:表示匹配字符表中或一个范围内的单一字符,用英文状态下逗号“,”分隔字符,用连字符“-”分隔上下界。
[!字符表或字符上界-字符下界]:表示不在字符表中或不在一个范围内的的单一字符(!为左中括号后的第1个字符)。
示例如表4-7所示。
表4-7 特殊函数示例