编辑表达式需要手动输入条件以形成规则。
利用此模式,可使用高级功能。利用这些函数,可处理用于执行特定查询(如处理日期、字符串、数字字段、排序等)的值。
編輯運算式時,也可以使用工作流程的事件變數。 有关更多信息,请参阅使用事件变量自定义活动一节。
您可以编辑表达式,以:
通过添加规则时可用的 Advanced mode 选项定义查询。
编辑工作流中的表达式。例如,向活动添加附加数据。
编辑可见性条件以定义编辑某个块在 HTML 内容编辑器中的显示方式。在这种情况下,表达式以 JavaScript 格式进行编辑,且不会提供高级函数作为标配。
利用高级表达式版,可手动定义专门对应于您需求的表达式。
编辑表达式可于创建电子邮件时在受众窗口中使用,也可于创建工作流时在查询活动中使用。
有关访问表达式编辑窗口的方法详情,请参阅关于高级表达式编辑一节。其中涉及以下元素:
通过直接在相应字段中输入表达式以编辑表达式,或通过使用一系列可用字段和函数以编辑表达式。
双击某个字段或表达式,可将其添加到光标所在的表达式中。
可以使用工作流的事件变量来构建表达式。有关更多信息,请参阅使用事件变量自定义活动一节。
根据需要为规则指定一个特定名称。输入的名称将作为规则名称,显示在查询编辑器工作区中。
通过编辑表达式,您可以个性化受众表达式,以根据需要定向群体。
相关主题:
标准表达式由一个或多个符合以下语法元素的条件组成:
每个条件都采用 <value1> <comparison operator> <value2> 的形式,其中:
<value1> 和 <value2> 类型数据必须相同。例如,如果 <value1> 是日期,则 <value2> 也必须是日期。
如果要使用多个条件,则可使用逻辑运算符将它们组合在一起。
例如:
Year(@created) = Year(GetDate()) AND Month(@created) = Month(GetDate())
在本例中,需要定向创建日期为当前月份和年份的用户档案。
在定义 HTML 内容编辑器的文本类型块的可见性条件时,必须使用 JavaScript 类型语法的表达式。
JavaScript 表达式由一个或多个条件组成,其中使用了以下语法元素:
每个条件都采用 <context> <comparison operator> <value2> 的形式,其中:
<context> 和 <value2> 类型数据必须相同。例如,如果 <context> 是日期,则 <value2> 也必须是日期。
如果要使用多个条件,则可使用逻辑运算符将它们组合在一起。
例如:
context.profile.age > 21 && context.profile.firstName.length() > 0
在本例中,就是 21 岁以上并且提供了名字的用户档案(以 firstName 字段至少包 含一个字符为标志)。
对于某些规则,利用查询编辑器,可选择一个值以定义条件。
条件必须通过使用下列运算符之一,链接到值。
运算符 |
标准语法 |
JavaScript 语法 |
说明 |
示例 |
---|---|---|---|---|
等于 |
= |
== |
第一个值必须与第二个值完全相同。 |
@lastName = Martin 可检索姓氏为“Martin”的用户档案,且只检索与其相同的字符。 |
大于 |
> |
> |
第一个值必须绝对大于第二个值。 |
@age > 50 可检索年龄超过“50”(比如“51”、“52”等)的用户档案。 |
小于 |
< |
< |
第一个值必须绝对小于第二个值。 |
@created < DaysAgo(100) 可检索之前 100 天(不含第 100 天)内在数据库中创建的所有用户档案。 |
大于或等于 |
>= |
>= |
第一个值必须大于或等于第二个值。 |
@age >= 30 可检索年龄为 30 岁或更大的用户档案。 |
小于或等于 |
<= |
<= |
第一个值必须小于或等于第二个值。 |
@age <= 60 可检索年龄为 60 岁或更小的用户档案。 |
不同 |
!= |
!= |
第一个值必须不同于第二个值。 |
@language ! = English 可检索尚未定义为可使用英语的用户档案。 |
包含 |
IN |
N/A |
第一个值必须包含第二个值。 |
@domain IN mail。此处,结果中会返回所有具有“mail”值的域名。因此,“gmail.com”域名也将构成返回结果的一部分。 |
相似 |
LIKE |
N/A |
相似与包含运算符非常相似。利用该运算符,可在搜索的值中插 入 % 通配符。 |
@lastName LIKE Mart%n。在此,替换字符 % 将用作“绝招”,在假设拼写不正确的情况下查找名称“Martin”。 |
不相似 |
NOT |
N/A |
与 相似相同。不能用于取回输入的值。在本例中,输入的值也必须包含 % 个通配符字段。 |
@lastName NOT Smi%h。此处,不会返回与名称“Smi%h”(代表 Smith 等)对应的收件人作为结果。 |
为空 |
IS NULL |
N/A |
第一个值必须对应于空值。 |
@mobilePhone IS NULL 可检索尚未提供手机号码的所有用户档案。 |