1. 程式人生 > 資料庫 >mysql中寫判斷語句的方法總結

mysql中寫判斷語句的方法總結

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;

查詢結果如圖:

e08a6ceb7c5f565e980547c90d0981c.png

方法二.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;

查詢結果如圖:

57558ec379007199e539b0a2a063727.png

可以看到,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

查詢結果如圖:

2cb2e8899c8d85f8f8c7feeb24b90ae.png

內容擴充套件:

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中如何寫判斷語句內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!