sql server中類似oracle中decode功能的函式
阿新 • • 發佈:2019-02-15
SQL Server 2008中的寫法:
select t.PROJECTNAME, t.BUILDCONTENTSCALE, CASE t.PROJECTLEVEL WHEN '0' THEN '國家重點' WHEN '1' THEN '省重點' WHEN '2' THEN '市重點' WHEN '3' THEN '區/縣重點' END AS PROJECTLEVEL, t.TOTALINVESTMENT, t.PROGRESSCONTENT, t.BUILDCOMPANY, t.CONTACTWAY, t.DUTYDEPT, t.REMARK from t_iipms_applayprojects t where t.projecttype = '1' and t.isvoided = '0';
Oracle 10g中的寫法:
細節對比看效果很明顯:SQL Server 2008中select t.PROJECTNAME, t.BUILDCONTENTSCALE, decode(t.PROJECTLEVEL, '0', '國家重點', '1', '省重點', '2', '市重點', '3', '區/縣重點') as PROJECTLEVEL, t.TOTALINVESTMENT, t.PROGRESSCONTENT, t.BUILDCOMPANY, t.CONTACTWAY, t.DUTYDEPT, t.REMARK from t_iipms_applayprojects t where t.projecttype = '1' and t.isvoided = '0';
CASE t.PROJECTLEVEL
WHEN '0' THEN '國家重點'
WHEN '1' THEN '省重點'
WHEN '2' THEN '市重點'
WHEN '3' THEN '區/縣重點'
END AS PROJECTLEVEL
Oracle 10g中decode(t.PROJECTLEVEL, '0', '國家重點', '1', '省重點', '2', '市重點', '3', '區/縣重點') as PROJECTLEVEL