和运算对象组成的运算式称为表达式。运算对象包括常量、输入参数、表中的字段等,运算符包括一般运算和函数运算。Access事先规定了各类型数据运算的运算符。
(1)数字运算符。数字运算符用来对数字型或货币型数据进行运算,运算的结果也是数字型数据或货币型数据。表5-1中列出了各类数字运算符已经优先级。
表5-1 数字运算符及其优先级 优先级运算符 说明 1 2
( ) +、
优先级运算符 说明
*、/ 乘、除运算 mod 求余数运算
内部子表达式 4
5
- 正、负号
乘方运算
3 ^ 6
+、
- 加、减运算
(2)文本运算符。或称字符串运算符。普通的文本运算符是:“&”或者“+”,两者完全等价。其运算功能是将两个字符串联接成一个字符串。其他文本运算使用函数。
(3)日期时间运算符。普通的日期时间运算符只有“+”和“-”。它们的运算功能如表5-2所示。
表5-2 日期和日期时间运算 格式
<日期> +
结果及类型
- < n>
日期时间型,给定日期n天后或n天前的日期
<日期>
- <日期>
-
数字型,两个指定日期相差的天数
日期时间型,给定日期时间n秒后或n秒前的日期时间
<日期时间> +
< n> <日期时间>
- <日期时间>
数字型,两个指定日期时间之间相差的秒数
(4)比较测试运算符。同类型数据可以进行比较测试运算。可以进行比较运算的数据类型有:文本型、数字型、货币型、日期时间型、是否型等。运算符如表5-3所示,运算结果为是否型,即true或false。由于Access中用0表示false,-1表示true,所以运算结果为0或-1。
<
表5-3 比较测试运算符
运算符
说明
运算符说明
小于
BETWEEN ? AND ?范围判断
文本数据的模式匹配 是否空值 元素属于集合运算
是否存在测试(只用在表查询中)
<= 小于等于 [NOT] LIKE >
大于
IS [NOT] NULL
>= 大于等于 [NOT] IN =
等于
EXISTS
<> 不等于
文本型数据比较大小时,两个字符串逐位按照字符的机内编码比较,只要有一个字符分出大小,即整个串就分出大小。 日期型按照年、月、日的大小区分,数值越大的日期越大。 是否型只要两个值:true和false,true小于false。
“BETWEEN x1 AND x2”,x1为范围起点,x2为终点。范围运算包含起点和终点。
LIKE运算用来对数据进行通配比较,通配符为“*”和“?”(ANSI SQL为“%”和“_”)。
对于空值判断,不能用等于或不等于NULL,只能用IS NULL或IS NOT NULL。
IN运算相当于集合的属于运算,用括号将全部集合元素列出,看要比较的数据是否属于该集合中的元素。EXISTS用于判断查询的结果集合中是否有值。
(5)逻辑运算符。逻辑运算是指针对是否型值true或false的运算,运算结果仍为是否型。最早由布尔(Boolean)系统提出,所以逻辑运算又称为布尔运算。逻辑运算符主要包括:求反运算NOT、与运算AND、或运算OR、异或运算XOR等。
其中,NOT是一元运算,有一个运算对象,其他都是二元运算。运算的优先级是:
NOT → AND → OR → XOR。可以使用括号改变运算顺序。 逻辑运算的规则及结果见表5-4。在表中,a、b是代表两个具有逻辑值数据的符号。
表5-4 逻辑运算 a
b
NOT aa AND b a OR b a XOR b
true t rue f alsetrue true false true f alse false false true true falsetrue t rue f alse true true falsefalse true f alse false f alse
上述不同的运算可以组合在一起进行混合运算。当多种运算混合时,一般是先进行文本、数字、日期时间的运算,再进行比较测试运算,最后进行逻辑运算。
函数包括函数名、自变量和函数值3个要素。函数基本格式是:函数
名([自变量])。
函数名标识函数的功能;自变量是需要传递给函数的参数,写在括号内,一般是表达式。有的函数无需自变量,称为哑参,一般和系统环境有关,具有特指的不会混淆的内涵。缺省自变量时,括号仍要保留。有的函数可以有多个自变量,之间用逗号分隔。
Access 常用函数 函 数 INT(数值) LEFT(文本表达式 ,数值)
RIGHT(文本表达式 ,数从文本的左边取出指定位数的子字符串。 值)
MID(文本表达式 , [数值1[,数值2]] ) LEN(文本表达式)
从文本中指定的起点取出指定位数的子字符串。数值1指定起点,数值2指定位数。
求出文本字符串的字符个数。 返回值 对数值进行取整
从文本的左边取出指定位数的子字符串。
相关推荐: