表达式运算符 | Qlik Cloud帮助
跳到主要内容 跳到补充内容

表达式运算符

上次更新日期:2026/10/28

在 构建表达式 时,使用运算符计算值、比较输入并组合条件。

以下语义适用于移动任务表达式。在云数据平台上执行的表达式使用该平台的语义。在运算符两侧添加空格,并为文本和日期常量加上引号,例如 $HIRE_DATE < '2026-10-08'。

算术运算符

数值的算术运算
运算符 含义 示例与结果
+ 将两个操作数相加。 2 + 3 返回 5。
- 从左操作数中减去右操作数。前导负号对值取反。 5 - 2 返回 3。
* 将操作数相乘。 3 * 4 返回 12。
/ 将左操作数除以右操作数。整数除法向零截断。实数操作数会保留小数结果。除以零返回 NULL。 7 / 2 返回 3;7.0 / 2 返回 3.5。
% 将两个操作数转换为整数,并返回除法余数。这不是百分比计算。 7 % 3 返回 1。

比较运算符

比较运算在为 true 时返回 1,为 false 时返回 0。与 NULL 进行普通比较会返回 NULL;请使用 IS 或 IS NOT 来测试缺失值。

比较两个值
运算符 含义 示例与结果
= 测试相等性。 3 = 3 返回 1。
!= 测试不等性。 3 != 4 返回 1。
<> 替代不等运算符。 3 <> 3 返回 0。
< 测试左侧的值是否更小。 2 < 3 返回 1。
<= 测试是否小于或等于。 3 <= 3 返回 1。
> 测试左侧的值是否更大。 4 > 3 返回 1。
>= 测试是否大于或等于。 3 >= 3 返回 1。
IS 测试是否相等而不返回 NULL。两个 NULL 值相等;NULL 值与非 NULL 值不相等。 NULL IS NULL 返回 1。
IS NOT 测试不相等性且不返回 NULL。 NULL IS NOT 3 返回 1。

逻辑和条件操作数

组合条件与选择值
运算符 含义 示例与结果
AND 当两个条件均为 true 时为 true。如果一个操作数为 false,即使另一个操作数为 NULL,结果也为 false。 (3 > 2) AND (4 < 3) 返回 0。
OR 当任一条件为 true 时为 true。即使另一个操作数为 NULL,值为 true 的操作数也会使结果为 true。 (3 > 2) OR (4 < 3) 返回 1。
IN 测试带括号列表中的成员资格。如果没有匹配的值且列表中包含 NULL,则返回 NULL。空列表返回 0,包括左操作数为 NULL 的情况。 2 IN (1, 2, 3) 返回 1;4 IN (1, NULL) 返回 NULL。
CASE 返回第一个匹配的分支。使用基准值,将其与每个 WHEN 值进行比较。如果没有,则测试每个 WHEN 条件。如果没有分支匹配,则使用 ELSE;如果缺少 ELSE,则使用 NULL。 CASE WHEN 5 > 3 THEN 'High' ELSE 'Low' END 返回 'High'。CASE 2 WHEN 1 THEN 'One' WHEN 2 THEN 'Two' END 返回 'Two'。

字符串和模式运算符

连接文本和匹配模式
运算符 含义 示例与结果
|| 连接文本值。NULL 操作数会产生 NULL。 'John' || ' ' || 'Smith' 返回 'John Smith'。
LIKE 比较左侧字符串与右侧模式。% 匹配零个或多个字符;_ 匹配一个字符。默认忽略 ASCII 字母大小写,但不忽略非 ASCII 大小写差异。ESCAPE 指定用于原义通配符的单个字符。 'Alice' LIKE 'A%' 返回 1。'10%' LIKE '10!%' ESCAPE '!' 返回 1。
GLOB 使用 Unix 风格模式进行区分大小写的匹配。* 匹配零个或多个字符,? 匹配一个,方括号定义字符集。 'file.csv' GLOB '*.csv' 返回 1;'File.CSV' GLOB '*.csv' 返回 0。
MATCH 委托给应用程序定义的 match() 函数。需要一个可用的实现;默认的 SQLite 实现会引发错误。 'Quarterly sales' MATCH 'sales' 说明了语法。结果取决于应用程序的实现。
REGEXP 委托给应用程序定义的 regexp() 函数。SQLite 默认不提供此函数。 'ABC123' REGEXP '^[A-Z]+[0-9]+$' 说明了语法。如果没有实现,评估将失败。

按位运算符

这些二元运算符作用于整数位,而非逻辑条件。| 表示按位或,即使编辑器也将其列在逻辑类别中也是如此。

整数位运算
运算符 含义 示例与结果
<< 将左侧整数左移右操作数指定的位数。 3 << 1 返回 6。
>> 将左侧整数右移右操作数指定的位数。 8 >> 1 返回 4。
& 按位与:仅当两个操作数的对应位都置位时,才将结果位置位。 6 & 3 返回 2。
| 按位或:如果任一操作数的对应位为 1,则将结果中的该位设为 1。 6 | 3 返回 7。

求值顺序与缺失值

对于上述二元运算符,优先级从高到低依次为:连接;乘法、除法和取余;加法和减法;位运算;顺序比较;相等和模式测试;AND;然后是 OR。同一级别的运算符从左到右求值。圆括号会覆盖此顺序:(2 + 3) * 4 返回 20,而 2 + 3 * 4 返回 14。

大多数运算符在操作数为 NULL 时返回 NULL。上述例外包括 IS、IS NOT 以及特定的 AND、OR 和 IN 情况。当缺失值应有替换值时,使用 $COALESCE。请参阅 表达式函数。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!