CASE WHEN THEN ELSE
阿新 • • 發佈:2021-01-20
case when then else語句使用
已知員工表emp表結構及資料如下
查詢員工姓名和姓名中是否含有字母A的資訊
- 如果字元A在姓名的首位,則顯示’字元A在首位’
- 如果字元A在姓名的末位,則顯示’字元A在末位’
- 如果字元A在姓名中不存在,則顯示’沒有字元A’
- 其他情況顯示’字元A在中間’
mysql
SELECT ename,
case LOCATE('A',ename)
when 1 THEN '字母A在首位'
when CHAR_LENGTH(ename) THEN '字母A在末位'
when 0 THEN '沒有字母A'
else '字母A在中間'
END '名稱類別'
FROM emp
查詢結果
Postgresql
SELECT ename,
case position('A' in ename)
when 1 THEN '字母A在首位'
when length(ename) THEN '字母A在末位'
when 0 THEN '沒有字母A'
else '字母A在中間'
END 名稱類別
FROM emp