iT邦幫忙

2022 iThome 鐵人賽

DAY 13
1
自我挑戰組

三十天,PG與我系列 第 13

SQL語法中的邏輯判斷

  • 分享至 

  • xImage
  •  

在SQL的SELECT欄位中可以加入CASE WHEN...THEN...ELSE之類的關鍵字,來表示一些顯示欄位的邏輯。
下面來說明一下這些關鍵字:
首先判斷式要用CASE做起頭,接著是一到多個WHEN,可以對應到程式語言的if及else if,WHEN後面接THEN表示如果條件為真的話欄位要顯示的數值,ELSE可以對應到程式語言的else。最後所有的判斷寫完之後,就寫END來結束這隻判斷式,然後用AS指定欄位輸出的名稱。
例子:

SELECT id, student_name, date ,
CASE WHEN score < 60 THEN 'FAILED' ELSE score AS score END
FROM test_record;

這條SQL指令在查詢table之後會將未滿60分的考試紀錄數字給屏蔽起來,用FAILED字樣顯示。
例子2:
查詢會員姓名列表,一般會員有姓與名兩個欄位可以組裝成全名,但來賓客戶沒有,所以透過CASE WHEN讓沒有完整姓名的來賓客戶在查詢結果中顯示為GUEST
https://ithelp.ithome.com.tw/upload/images/20220913/20114934mK0Go5YxjH.png
https://ithelp.ithome.com.tw/upload/images/20220914/20114934SmB93Hkqux.png


上一篇
PostgreSQL表格欄位資料限制與驗證設定
下一篇
SQL 集合操作
系列文
三十天,PG與我30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言