4.2.2 运算符和表达式

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 特殊函数示例