MySQL IFNULL判空問(wèn)題解決方案
問(wèn)題:mybatis返回的null類(lèi)型數(shù)據(jù)消失,導(dǎo)致前端展示出錯(cuò)
思路:如果查詢出的結(jié)果是空值,應(yīng)當(dāng)轉(zhuǎn)換成空字符串。當(dāng)然在前端也能進(jìn)行判斷,但要求后臺(tái)實(shí)現(xiàn)這個(gè)功能。
解決方案:
使用如下方法查詢:
SELECT IFNULL(sex,'') AS sex FROM user --如果查詢到這個(gè)sex為null值,那么就賦值成空字符串
不過(guò),如果查詢語(yǔ)句本身為null,那么返回前端的還是null,這個(gè)就要在代碼里判斷了。
比如:
SELECT IFNULL(sex,'') AS sex FROM user WHERE id=100
這條語(yǔ)句本身的返回結(jié)果是null,它也就不會(huì)執(zhí)行IFNULL函數(shù)了,最后的返回結(jié)果當(dāng)然也是null
所以我的方法是在代碼中增加判斷:
if(ansList == null || ansList.size() == 0){...}
MYSQL IFNULL(expr1,expr2)函數(shù)
如果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)函數(shù)
如果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è)比較操作來(lái)做。
mysql> select IF(0.1,1,0);
-> 0
mysql> select IF(0.1<>0,1,0);
-> 1
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Mysql在線回收undo表空間實(shí)戰(zhàn)記錄
這篇文章主要給大家介紹了關(guān)于Mysql在線回收undo表空間的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
從MySQL復(fù)制功能中得到的一舉三得實(shí)惠分析
在MySQL數(shù)據(jù)庫(kù)中,支持單項(xiàng)、異步復(fù)制。在復(fù)制過(guò)程中,一個(gè)服務(wù)器充當(dāng)主服務(wù)器,而另外一臺(tái)服務(wù)器充當(dāng)從服務(wù)器。筆者通過(guò)MySQL的復(fù)制功能得到了一下實(shí)惠,在下文中與大家分享。2011-03-03
MySQL?Community?Server?8.0.29安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了MySQL?Community?Server?8.0.29安裝配置方法圖文教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
詳細(xì)聊一聊mysql的樹(shù)形結(jié)構(gòu)存儲(chǔ)以及查詢
由于mysql是關(guān)系型數(shù)據(jù)庫(kù),因此對(duì)于類(lèi)似組織架構(gòu),子任務(wù)等相關(guān)的樹(shù)形結(jié)構(gòu)的處理不是很友好,下面這篇文章主要給大家介紹了關(guān)于mysql樹(shù)形結(jié)構(gòu)存儲(chǔ)以及查詢的相關(guān)資料,需要的朋友可以參考下2022-04-04
詳細(xì)分析mysql MDL元數(shù)據(jù)鎖
這篇文章主要介紹了mysql MDL元數(shù)據(jù)鎖的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-08-08

