在SQL中,CASE WHEN語句用于根據條件對結果進行條件判斷和返回不同的值。它提供了一種在查詢過程中進行邏輯控制和條件分支的方式。
CASE WHEN語句通常具有以下語法結構:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
解釋:
CASE關鍵字標志著一個CASE WHEN語句的開始。
每個WHEN子句包括一個條件(condition)和一個與之對應的結果(result),它們在條件滿足時將被執行。
如果沒有任何條件滿足,則可以使用可選的ELSE子句指定默認的結果(resultN)。
END表示CASE WHEN語句的結束。
以下是一個簡單的示例說明CASE WHEN語句的使用:
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE resultN
END AS new_column
FROM table_name;
在上述示例中,我們使用CASE WHEN語句作為查詢的一部分。根據給定的條件,我們可以根據需要設置多個WHEN子句,并在滿足條件時返回相應的結果。通過AS關鍵字,我們將CASE WHEN表達式的結果命名為”new_column”,以便在查詢結果中顯示。
需要注意的是,每個條件(condition)必須是一個可以求值為TRUE或FALSE的表達式。結果(result)可以是任意數據類型,包括常量、列名或表達式。
CASE WHEN語句在SQL查詢中非常有用,可以根據條件進行靈活的數據轉換、分類和聚合操作。它提供了一種有效的方式來實現復雜的邏輯判斷和條件處理。