SQL 內的執行IF…ELSE判斷式 [Case When]

SQL 內的執行IF…ELSE判斷式 [Case When]

SQL 內的執行IF…ELSE判斷式 [Case When]

 

資料來源: http://www.1keydata.com/tw/sql/sql-case.html

 

CASE 是 SQL 用來做為 IF-THEN-ELSE 之類邏輯的關鍵字。 CASE 的語法如下:

 

SELECT CASE (“欄位名”)
  WHEN “條件1” THEN “結果1”
  WHEN “條件2” THEN “結果2”
  …
  [ELSE “結果N”]
  END
FROM “表格名”;

“條件” 可以是一個數值或是公式。 ELSE 子句則並不是必須的。

在我們的 Store_Information 中

Store_Information 表格

Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
San Diego 250 07-Jan-1999
San Francisco 300 08-Jan-1999
Boston 700 08-Jan-1999

 

若我們要將 ‘Los Angeles’ 的 Sales 數值乘以 2,以及將 ‘San Diego’ 的 Sales 數值乘以 1.5,我們就鍵入以下的 SQL:

 

SELECT Store_Name, CASE Store_Name
  WHEN ‘Los Angeles’ THEN Sales * 2
  WHEN ‘San Diego’ THEN Sales * 1.5
  ELSE Sales
  END
“New Sales”,
Txn_Date
FROM Store_Information;

“New Sales” 是用到 CASE 那個欄位的欄位名。

結果:

 

Store_Name New Sales Txn_Date
Los Angeles 3000 Jan-05-1999
San Diego 375 Jan-07-1999
San Francisco 300 Jan-08-1999
Boston 700 Jan-08-1999

 

 

 

 

 

 

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *