mysql中寫判斷語句的方法:
方法一.CASE函數
case函數語法:
CASE condition
WHEN value1 THEN returnvalue1
WHEN value2 THEN returnvalue2
WHEN value3 THEN returnvalue3
……
ELSE defaultvalue
END
舉例:
SELECT username,(CASE sex WHEN 1 THEN '男' WHEN 2 THEN '女' ELSE '未知' END) as sex FROM user;
查詢結果如圖:

方法二.IF()函數
CASE函數可以實現非常復雜的邏輯判斷,實現滿足條件就A,否則就B這樣簡單的判斷邏輯的話,CASE函數就顯得臃腫。MYSQL提供了IF()函數用于簡化這種邏輯判斷,其語法格式如下:IF(condition,A,B)
如果condition條件為真,就返回A,否則返回B。所以如果有多個條件,就無法使用IF函數。IF()返回一個數字或字符串。
select username,if(sex=1,'男','女') as sex from user;
查詢結果如圖:

可以看到,username為zhangsan的顯示性別為女,因為我們條件是sex=1為男,其它都會女。所以IF函數用于只有兩種情況的判斷。mysql還有一個IFNULL(value1,value2)函數,這個函數一般用來替換NULL值的,我們知道NULL值是不能參與數值運算的。
方法三.字符串操作ELT()
語法:
ELT(N,str1,str2,str3,...)
如果 N = 1,返回 str1,如果N = 2,返回 str2,等等。如果 N 小于 1 或大于參數的數量,返回 NULL。
SELECT username,ELT(sex,'男','女','未知') as sex FROM user
查詢結果如圖:

內容擴展:
mysql條件判斷語句
業務場景中,比如一個用戶有幾種狀態(1:有效、2:無效、3:其他),這時候查詢就需要用到條件語句。
語法:
CASE 字段
WHEN `條件1` THEN `結果1`
WHEN `條件2` THEN `結果2`
WHEN ...
ELSE `其他結果`
END
示例:
SELECT id,name,
(CASE status
WHEN 1 THEN '有效'
WHEN 2 THEN '無效'
ELSE '其他'
END) AS status
FROM user
到此這篇關于mysql中寫判斷語句的方法總結的文章就介紹到這了,更多相關mysql中如何寫判斷語句內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- MySQL使用show status查看MySQL服務器狀態信息
- Mysql中 show table status 獲取表信息的方法
- mysql建表常用的sql語句匯總
- 記一次MySQL更新語句update的踩坑
- Navicat Premium操作MySQL數據庫(執行sql語句)
- MySQL兩種刪除用戶語句的區別(delete user和drop user)
- MySQL 數據庫 like 語句通配符模糊查詢小結
- MySQL 數據查重、去重的實現語句
- MySQL 常用的拼接語句匯總
- MySQL SHOW STATUS語句的使用