- 論壇徽章:
- 0
|
在db2中case怎么用?
上面說的不細,詳細的說一下:
兩種語法模式:
(1):CASE
WHEN 條件 THEN 結(jié)果1
ELSE 結(jié)果2
END
(2):CASE 表達式1
WHEN 表達式2 THEN 結(jié)果1
ELSE 結(jié)果2
END
上面的WHEN可以重復多次,就像C中的SWITCH ..CASE的表達
下面詳細的各舉幾個例子,這些例子可以用于ESQL和交互式的SQL中
eg1:處理被0除
SELECT
CASE
WHEN fileld1=0 THEN 0
ELSE fileld2/field1
END
FROM FILE
eg2:字段值對應轉(zhuǎn)換
SELECT ORDNO,CUSNAM,SHIPDATE,CASE
WHEN SHIPDATE<CURDATE() THEN 'OVERDUE'
WHEN SHIPDATE=CURDATE() THEN 'PROCESSING'
WHEN SHIPDATE>;CURDATE() THEN 'ACTIVE'
END
FROM FILE
eg3:獲取月份的名字:上面的例子
SELECT ORDNO,CUSNO,
CASE MONTH(SHIPDATE)
WHEN '01' THEN 'Jan'
WHEN '02' THEN 'Feb'
WHEN '03' THEN 'Mar'
WHEN '04' THEN 'Apr'
WHEN '05' THEN 'May'
WHEN '06' THEN 'Jun'
WHEN '07' THEN 'Jul'
WHEN '08' THEN 'Aug'
WHEN '09' THEN 'Sep'
WHEN '10' THEN 'Oct'
WHEN '11' THEN 'Nov'
WHEN '12' THEN 'Dec'
END
FROM FILE
|
|