跳至主要內容
Workday User Guide
上次更新時間 :2023-06-23
CASE

CASE

說明

CASE
是一個列函數,根據一或多個輸入條件評估資料集中的每一列,並在符合輸入條件時輸出指定的結果。

語法

CASE
WHEN
input_condition
[
AND
|
OR
input_condition
]
THEN
output_expression
[...] [
ELSE
other_output_expression
]
END

傳回值

每列傳回一個與輸出運算式相同類型的值。所有輸出運算式都必須傳回相同的欄位類型。
如果有多個輸出運算式傳回不同的欄位類型,則您需要將整個運算式放在後面
CASE
任一欄位類型轉換函數中的運算式,例如
TO_INT
,將所有輸出值顯式轉換為特定欄位類型。

輸入參數

WHEN
input_condition
必填。該
WHEN
關鍵字用於指定一或多個布林運算式 (請參閱「支援的條件運算子」)。如果輸入值符合條件,則會套用輸出運算式。輸入條件可在其運算式中包含其他列函數,但不能包含匯總函數或量值運算式。您可以使用
AND
OR
關鍵字,以組合多個輸入條件。
THEN
output_expression
必填。該
THEN
關鍵字用於在符合指定條件時指定輸出運算式。輸出運算式可以在其運算式中包含其他列函數,但不能包含匯總函數或量值運算式。
ELSE
other_output_expression
選用。該
ELSE
關鍵字可用於指定不符合指定條件時要使用的其他輸出運算式。如果
ELSE
未提供 expression,
ELSE NULL
是預設值。
END
必填。表示結束
CASE
函數處理

範例

年齡
欄中的值轉換為範圍型分組 (分箱)︰
CASE WHEN [age] <= 25 THEN "0-25" WHEN [age] <= 50 THEN "26-50" ELSE "over 50" END
性別
欄中的值從一個字串轉換為另一個字串︰
CASE WHEN [gender] = "M" THEN "Male" WHEN [gender] = "F" THEN "Female" ELSE "Unknown" END
車輛
欄包含下列值︰皮卡、公共汽車、汽車、小型摩托、旅行車、單車、三輪車和電單車。以下範例會將
車輛
欄中的多個值轉換為單一值︰
CASE WHEN [vehicle] in ("bike","scooter","motorcycle") THEN "two-wheelers" ELSE "other" END