管理 Oracle CRM On Demand > Expression Builder > Expression Builder 运算符
Expression Builder 运算符
本主题说明可在Expression Builder中使用的运算符及其计算顺序。
注意:用于本主题中任何示例表达式的独立于语言的字段名称以及字段名称语法是比第 29 版 Service Pack 1 更旧的 Expression Builder 版本中使用的字段名称和字段名称语法。这些示例仍然有效。但是,如果您从第 29 版 Service Pack 1 或更高版本的 Expression Builder 的“字段”列表中选择表达式的对应字段,则字段名称和字段名称语法将不同于示例中所显示的字段名称和字段名称语法。建议您始终从 Expression Builder 内的“字段”列表中为表达式选择字段,以便字段名称和字段名称语法始终正确。有关表达式中的字段名称和字段名称语法的更多信息,请参阅关于表达式。
算术运算符
下表说明各算术运算符的用途,还有各运算符的用法示例。
运算符
|
用途
|
示例
|
+
|
添加
|
[<记录编号>] + 1
|
-
|
减
|
[<记录编号>] - 1
|
-
|
求反
|
[<收入>] < -100
|
*
|
乘
|
[<小计>] * 0.0625
|
/
|
除
|
[<Total Items>] / [<Total Orders>]
|
^
|
求幂
|
[<网格高度>] ^ 2
|
逻辑运算符
以下真值表显示了在Expression Builder中逻辑运算符可能会产生的结果。
逻辑运算符
|
第一个操作数
|
第二个操作数
|
结果
|
NOT
|
TRUE
|
|
FALSE
|
FALSE
|
|
TRUE
|
NULL
|
|
NULL
|
AND
|
TRUE
|
TRUE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
TRUE
|
FALSE
|
TRUE
|
NULL
|
NULL
|
FALSE
|
NULL
|
FALSE
|
NULL
|
TRUE
|
NULL
|
NULL
|
FALSE
|
FALSE
|
NULL
|
NULL
|
NULL
|
或
|
TRUE
|
TRUE
|
TRUE
|
FALSE
|
FALSE
|
FALSE
|
TRUE
|
FALSE
|
TRUE
|
FALSE
|
TRUE
|
TRUE
|
TRUE
|
NULL
|
TRUE
|
FALSE
|
NULL
|
NULL
|
NULL
|
TRUE
|
TRUE
|
NULL
|
FALSE
|
NULL
|
NULL
|
NULL
|
NULL
|
比较运算符
下表说明各比较运算符的用途,还有各运算符的用法示例。
运算符
|
用途
|
示例
|
=
|
测试第一个操作数是否等于第二个操作数。
|
[<姓氏>] = "Smith"
|
< >
|
测试第一个操作数是否不等于第二个操作数。
|
[<角色>] <> "最终用户"
|
>
|
测试第一个操作数是否大于第二个操作数。
|
[<收入>] > 5000
|
<
|
测试第一个操作数是否小于第二个操作数。
|
[<机率>] < .7
|
> =
|
测试第一个操作数是否大于或等于第二个操作数。
|
[<收入>] >= 5000
|
< =
|
测试第一个操作数是否小于或等于第二个操作数。
|
[<机率>] <= .7
|
LIKE
|
测试第一个操作数的值是否与指定的字符串匹配。
|
[<姓氏>] LIKE "Smith"
提示:您可以将星号 (*) 和问号 (?) 模式匹配特殊字符与 LIKE 运算符配合使用。
|
NOT LIKE
|
测试第一个操作数的值是否与指定的字符串不匹配。
|
[<姓氏>] NOT LIKE "Smith"
或
NOT ([<姓氏>] LIKE "Smith")
注意:第二个示例中的括号不能省。
提示:您可以将星号 (*) 和问号 (?) 模式匹配特殊字符与 NOT LIKE 运算符配合使用。
|
IS NULL
|
测试操作数是否为空。
|
[<姓氏>] IS NULL
|
IS NOT NULL
|
测试操作数是否不为空。
|
[<姓氏>] IS NOT NULL
|
模式匹配特殊字符
下表说明了模式匹配特殊字符。这些特殊字符可以与 LIKE 和 NOT LIKE 比较运算符配合使用。
字符
|
用途
|
示例
|
*
|
零个或更多字符
|
[<姓氏>] LIKE "Sm*" 可返回 [<姓氏>] 值以字符 Sm 开头的所有记录,如 Smith、Smythe、Smart 等。
[<姓氏>] LIKE "*om*" 将返回 [<姓氏>] 字段中含有字符 om 的所有记录,如 Thomas、Thompson、Tomlin 等。
|
?
|
一个字符
|
[<名字>] NOT LIKE "Da?" 将返回 [<名字>] 值为三个字符但不以 Da 这两个字母开头的所有记录。将返回含有 Ted、Tom 和 Sam 的记录,但不会返回含有 Dax 和 Dan 的记录。
NOT ([<名字>] LIKE "?o?") 将返回 [<名字>] 值为三个字符但中间的字符不是 o 的所有记录。将返回含有 Ted 和 Sam 的记录,但不返回含有 Tom 和 Bob 的记录。
|
级联运算符
+(加号)运算符在电子邮件中用于将字段值与文本相连。
运算符优先级
优先级是指 Oracle CRM On Demand 对一个表达式中的各个运算符求值的顺序。适用以下规则:
- 先对优先级较高的运算符求值,然后再对优先级较低的运算符求值。
- 从左到右对优先级相同的运算符求值。
- 较低级别的数字表示较高的优先级。
- 如果使用括号,则会影响表达式中的优先级顺序。先对括号内的表达式求值,然后再对括号外的表达式求值。
下表列出了优先级的级别。
级别
|
运算符
|
1
|
( )
|
2
|
-(求反)
|
3
|
^(求幂)
|
4
|
*(乘)、/(除)
|
5
|
+(加)、-(减)、“NOT”逻辑运算符
|
6
|
AND 逻辑运算符
|
7
|
OR 逻辑运算符
|
8
|
=、<>、>、<、>=、<= 比较运算符
|
相关主题
请参阅以下主题以了解相关的 Expression Builder 信息:
|