运算符与函数
本节详细介绍表达式所支持的运算符和函数。
CaseStudy目录下有一个示例文件“表达式.table”,可以帮助大家快速掌握本节介绍的运算符和函数。
运算符
在创建比较表达式时,允许使用下列运算符:
<
>
<=
>=
<>
=
In
Like
在表达式中还支持下列算术运算符:
+(加)
-(减)
*(乘)
/(除)
%(模数)
对于数值,允许使用小数和科学记数法。
列名称推荐用方括号括起来,字符串的值应括在单引号内。
日期值应放在符号 (#) 内,顺序为“月/日/年”例如:
[姓名] =
'贺辉'
[单价] <= 50.00
[出生日期] < #9/17/1970#
#9/17/1970#表示1970年9月17日。
若要连接字符串,请使用 + 字符,例如:
'HA' + 'PT'
可以用 And 或者 Or 串联条件表达式。
用 And 串联的条件表达式必须同时满足,例如:
[省籍] = '湖南' And [学历] = '博士'
表示省籍为湖南,且学历为博士。
用 Or 串联的条件表达式只需满足一个即可,例如:
[省籍] = '湖南' Or [省籍] = '广东
表示省籍为湖南或者广东。
计算表达式值的时候,And 优先于 Or,可以使用括号组合表达式来强制改变优先级,例如:
([省籍] = '湖南' Or [省籍] = '广东') And [学历] = '博士'
表示省籍是湖南或者广东的博士。
Like 运算符用于比较字符串,在 Like 比较中,* 和 % 作为通配符,两者可以互换,表示任意个数的字符,通配符只能在开头或者结尾出现。例如:
[姓名]
Like '%赫%'
[姓名] Like '赫%'
[姓名] Like '%赫'
分别表示姓名中包括“赫”,姓名开头是“赫”(姓赫),姓名结尾是“赫”
在字符串的中间不允许使用通配符。例如,不允许 '赫*丰',也不允许 '赫%丰'。
由于* 和 % 默认作为通配符,如果要将其作为比较内容的一部分,必须用方括号括起来,例如:
[型号] Like 'A[*]%'
表示型号以“A*”开头。
在 Like 运算符之前,可以加上Not关键词,表示不类似的意思,例如:
[姓名] Not Like '李%'
表示姓名不是以“李”开头,也就是不是姓李的。
In 运算符用来判断某一个值是否在指定的一系列值中,例如:
[国籍] In ('中国','美国','英国','法国','俄罗斯')
表示判断国籍是否是上述五国之一,显然这比用OR来连接多个表达式要简洁很多。
记得数值型的列,值不要用单引号括起来,例如:
[订单号] In (1, 3, 4, 6, 7,12)
而日期型的列,值需要用符号#括起来,例如:
[日期] In (#7/2/2012#, #7/12/2012#, #8/30/2012#)
同样如果在 In 运算符之前,加上 Not 关键词,表示不在指定的一系列值之中,例如:
[国籍] Not In ('中国','美国','英国','法国','俄罗斯')
表示国籍非上述指定的五国。
函数
表达式支持以下函数:
IsNull
说明 | 判定一个表达式的值是否为空,如果不为空,则返回表达式的值,否则返回一个替代值。 |
语法 | IsNull(expression, replacementvalue) |
参数 |
expression — 要判定的表达式。
replacementvalue — 指定一个替代值,如果表达式的值为空,则返回此值。 |
例如:IsNull([折扣], 0)
如果折扣为空,则返回0,否则返回折扣列内容。
例如:IsNull([
第一列], [第二列])如果第一列内容为空,则返回第二列,否则返回 第一列,也就是说第一列有内容时,使用第一列的内容,否则使用第二列的内容。
IIF
说明 | 计算一个逻辑表达式,如果表达式的结果为True,则返回一个指定值,否则返回另一个指定值。 |
语法 | IIF(expr, truepart, falsepart) |
参数 |
expr — 要计算的逻辑表达式。 truepart — 逻辑表达式的计算结果为True时,返回此值。 falsepart — 逻辑表达式的计算结果为False时,返回此值。 |
例如:IIF([金额] > 1000, '贵', '便宜')
Trim
说明 | 移除字符串的前后空格 |
语法 | Trim(expression) |
参数 | expression — 要剪裁的表达式。 |
例如:Trim([型号])
Substring
说明 | 从字符串中的指定位置开始,返回指定长度的子字符串。 |
语法 | Substring(expression, start, Length) |
参数 |
expression — 原字符串。
start — 起始位置,从1开始编号。 Length — 返回长度。 |
例如:Substring([电话号码], 3, 9)
Len
说明 | 返回字符串的长度。 |
语法 | Len(expression) |
参数 | expression — 原字符串。 |
例如:Len('abc')