淺談Mysql中類似于nvl()函數(shù)的ifnull()函數(shù)
IFNULL(expr1,expr2)
如果expr1不是NULL,IFNULL()返回expr1,否則它返回expr2。IFNULL()返回一個(gè)數(shù)字或字符串值,取決于它被使用的上下文環(huán)境。
mysql> select IFNULL(1,0); -> 1 mysql> select IFNULL(0,10); -> 0 mysql> select IFNULL(1/0,10); -> 10 mysql> select IFNULL(1/0,'yes'); -> 'yes' IF(expr1,expr2,expr3)
如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否則它返回expr3。IF()返回一個(gè)數(shù)字或字符串值,取決于它被使用的上下文。
mysql> select IF(1>2,2,3); -> 3 mysql> select IF(1<2,'yes','no'); -> 'yes' mysql> select IF(strcmp('test','test1'),'yes','no'); -> 'no'
expr1作為整數(shù)值被計(jì)算,它意味著如果你正在測(cè)試浮點(diǎn)或字符串值,你應(yīng)該使用一個(gè)比較操作來做。
mysql> select IF(0.1,1,0); -> 0 mysql> select IF(0.1<>0,1,0); -> 1
在上面的第一種情況中,IF(0.1)返回0,因?yàn)?.1被變換到整數(shù)值, 導(dǎo)致測(cè)試IF(0)。這可能不是你期望的。在第二種情況中,比較測(cè)試原來的浮點(diǎn)值看它是否是非零,比較的結(jié)果被用作一個(gè)整數(shù)。
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
第一個(gè)版本返回result,其中value=compare-value。第二個(gè)版本中如果第一個(gè)條件為真,返回result。如果沒有匹配的result值,那么結(jié)果在ELSE后的result被返回。如果沒有ELSE部分,那么NULL被返回。
mysql> SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END; -> "one" mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END; -> "true" mysql> SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END; -> NULL
以上這篇淺談Mysql中類似于nvl()函數(shù)的ifnull()函數(shù)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MYSQL(電話號(hào)碼,身份證)數(shù)據(jù)脫敏的實(shí)現(xiàn)
在日常開發(fā)需求中會(huì)經(jīng)常遇到數(shù)據(jù)脫敏處理,比如身份證號(hào)、手機(jī)號(hào),需要使用*進(jìn)行部分替換顯示。這樣能使敏感隱私信息在一定程度上得到保護(hù)。本文就來介紹一下2021-05-05MySQL服務(wù)無法啟動(dòng)的解決辦法(親測(cè)有效)
用管理員身份打開cmd試圖啟動(dòng)MySQL時(shí)出現(xiàn)服務(wù)無法啟動(dòng)并提示服務(wù)沒有報(bào)錯(cuò)任何錯(cuò)誤,所以本文小編給大家介紹了一個(gè)親測(cè)有效的解決辦法,需要的朋友可以參考下2023-12-12MySQL數(shù)據(jù)庫中sql表設(shè)計(jì)的注意事項(xiàng)
實(shí)際開發(fā)中一個(gè)項(xiàng)目通常需要很多張表才能完成,這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫中sql表設(shè)計(jì)的注意事項(xiàng),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05MySQL優(yōu)化總結(jié)-查詢總條數(shù)
這篇文章主要介紹了MySQL優(yōu)化總結(jié)-查詢總條數(shù)的相關(guān)內(nèi)容,文中進(jìn)行簡單的測(cè)試對(duì)比,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10免安轉(zhuǎn)MySQL服務(wù)的啟動(dòng)與停止方法
免安轉(zhuǎn)MySQL服務(wù)的啟動(dòng)與停止方法,可以不用安裝解壓以后即可執(zhí)行,對(duì)于老手推薦,新手建議用安裝版本。2011-03-03