運算式運算子 | 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。只要其中一個運算元為 true,即使另一個運算元為 NULL,結果仍為 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]+$' 說明了語法。若沒有實作,評估就會失敗。

位元運算子

這些二元運算子作用於整數的位元,而非邏輯條件。| 表示位元 OR,即使編輯器也將其列在邏輯類別中也是如此。

整數位元運算
運算子 意義 範例與結果
<< 將左側整數向左位移右運算元所指定的位元數。 3 << 1 回傳 6。
>> 將左側整數向右位移右運算元所指定的位元數。 8 >> 1 回傳 4。
& 位元 AND:僅在兩個運算元的該位元皆已設定時,才會設定結果位元。 6 & 3 回傳 2。
| 位元 OR:若任一運算元的該位元已設定,則設定結果位元。 6 | 3 回傳 7。

求值順序與遺漏值

對於上述二元運算子,優先順序從最高到最低依序為串接;乘法、除法和餘數;加法和減法;位元運算;順序比較;相等性與模式測試;AND;然後是 OR。相同層級的運算子會由左至右進行評估。括號會覆寫此順序:(2 + 3) * 4 會傳回 20,而 2 + 3 * 4 則會傳回 14。

大多數運算子在運算元為 NULL 時會傳回 NULL。上述說明的例外狀況包含 IS、IS NOT,以及特定 AND、OR 和 IN 案例。當遺漏值應有替代值時,請使用 $COALESCE。請參閱 運算式函式。

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們!