sql if else


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

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM