1.oracle
現定義一table名為output,其中定義兩個column分別為monthid(var型)和sale(number型),若sale值=1000時翻譯為D,=2000時翻譯為C,=3000時翻譯為B,=4000時翻譯為A,如是其他值則翻譯為Other;
SQL如下:
Select monthid , decode (sale,1000,'D',2000,'C',3000,'B',4000,'A',’Other’) sale from output
sign()函數根據某個值是0、正數還是負數,分別返回0、1、-1,
如果取較小值就是
select monthid,decode(sign(sale-6000),-1,sale,6000) from output,即達到取較小值的目的。
select decode(性別,男,1,0),decode(性別,女,1,0) from 表
2.mysql
1.case when then
如:Select title,case Emergency when 1 then '緊急' else '普通' End as emergency from already_sign
以上方式 when 不能用大於小於號
以下可以
SELECT NAME,CASE WHEN score<70 THEN '過' ELSE '不過' END AS mark FROM course
2.if
如:select a.title,if(a.Emergency=1,'緊急','普通')emergency from already_sign a
SELECT NAME , IF(score>60,'過','不過') mark FROM course