mysql中寫判斷語句的方法總結(jié)
mysql中寫判斷語句的方法:
方法一.CASE函數(shù)
case函數(shù)語法:
CASE conditionWHEN value1 THEN returnvalue1WHEN value2 THEN returnvalue2WHEN value3 THEN returnvalue3……ELSE defaultvalueEND
舉例:
SELECT username,(CASE sex WHEN 1 THEN ’男’ WHEN 2 THEN ’女’ ELSE ’未知’ END) as sex FROM user;
查詢結(jié)果如圖:
方法二.IF()函數(shù)
CASE函數(shù)可以實現(xiàn)非常復(fù)雜的邏輯判斷,實現(xiàn)滿足條件就A,否則就B這樣簡單的判斷邏輯的話,CASE函數(shù)就顯得臃腫。MYSQL提供了IF()函數(shù)用于簡化這種邏輯判斷,其語法格式如下:IF(condition,A,B)
如果condition條件為真,就返回A,否則返回B。所以如果有多個條件,就無法使用IF函數(shù)。IF()返回一個數(shù)字或字符串。
select username,if(sex=1,’男’,’女’) as sex from user;
查詢結(jié)果如圖:
可以看到,username為zhangsan的顯示性別為女,因為我們條件是sex=1為男,其它都會女。所以IF函數(shù)用于只有兩種情況的判斷。mysql還有一個IFNULL(value1,value2)函數(shù),這個函數(shù)一般用來替換NULL值的,我們知道NULL值是不能參與數(shù)值運算的。
方法三.字符串操作ELT()
語法:
ELT(N,str1,str2,str3,...)
如果 N = 1,返回 str1,如果N = 2,返回 str2,等等。如果 N 小于 1 或大于參數(shù)的數(shù)量,返回 NULL。
SELECT username,ELT(sex,’男’,’女’,’未知’) as sex FROM user
查詢結(jié)果如圖:
內(nèi)容擴展:
mysql條件判斷語句
業(yè)務(wù)場景中,比如一個用戶有幾種狀態(tài)(1:有效、2:無效、3:其他),這時候查詢就需要用到條件語句。
語法:
CASE 字段 WHEN `條件1` THEN `結(jié)果1` WHEN `條件2` THEN `結(jié)果2` WHEN ... ELSE `其他結(jié)果`END
示例:
SELECT id,name,(CASE statusWHEN 1 THEN ’有效’ WHEN 2 THEN ’無效’ ELSE ’其他’ END) AS status FROM user
到此這篇關(guān)于mysql中寫判斷語句的方法總結(jié)的文章就介紹到這了,更多相關(guān)mysql中如何寫判斷語句內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. MySQL 如何設(shè)計統(tǒng)計數(shù)據(jù)表2. MySQL索引背后的數(shù)據(jù)結(jié)構(gòu)及算法原理3. SQL Server和Oracle數(shù)據(jù)鎖定比較4. MySQL CHAR和VARCHAR該如何選擇5. MySQL系列之三 基礎(chǔ)篇6. Sql Server 壓縮數(shù)據(jù)庫日志文件的方法7. 我的oracle筆記三(系統(tǒng)函數(shù)和系統(tǒng)包使用方面)8. 實例講解SQL Server中非常有用EXISTS結(jié)構(gòu)9. SQL Server 數(shù)據(jù)庫的更改默認備份目錄的詳細步驟10. MySQL 字符串拆分操作(含分隔符的字符串截取)
