Mysql 表達式


IF

SELECT id,IF(display=1,"禁止使用",display) from jobs LIMIT 10

如果display的列的值為1 則值變成禁止使用不是的話就還是使用原來列的值

 

SELECT IF(name like "%PHP%" and name LIKE "%JAVA%",CONCAT("java",name),id) from jobs LIMIT 10

模糊匹配表達式

 

可以在where 表達式添加的都可以塞進這個if 表達式中

 

IFNULL

 

SELECT id,IFNULL(deleted_at,"已經刪除了") from jobs LIMIT 10 

 

判斷列的值是否為null 為null 就替換成其他值

其他這個表達式也可以替換成

SELECT id,IF(deleted_at is null,"已經刪除了",deleted_at)  from jobs LIMIT 10

 

 

CASE

這個就相當於邏輯語言的 switch case default

SELECT id,case  WHEN wage=56 THEN  "小時工"  WHen wage=20 THEN  "正式工"  ELSE  "臨時工" END  from jobs LIMIT 10

 

根據這個wage 字段不同值返回不同的信息,最后的else 就相當於default的意思,這里面 每一個when匹配成功之后,后面的when 就不在匹配,相當於自己加上brek了,當然也可以同時匹配多個列,而且where 可以使用的表達式也可以塞進去

 

 

 


免責聲明!

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



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