2009年3月6日 星期五

SQL Case When 的使用

Oracle SQL, MySQL, MsSQL 通用的語法, 可以選擇性的加工輸出欄位值:
範例 1:

select user_id,
   (CASE WHEN CLASS = 'a' THEN 1 ELSE '' END) AS CLASS_A,
   (CASE WHEN CLASS = 'b' THEN 1 ELSE '' END) AS CLASS_B,
   (CASE WHEN CLASS = 'c' THEN 1 ELSE '' END) AS CLASS_C
from T1;

範例 2:

select id, (CASE WHEN 數據 = 0 THEN '沒有數據' ELSE 數據 END) AS "數據值"
from T2;

PS:還可以用於 update set=(case when...), where xxx=(case when...) 敘述中

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。