MySQL IFNULL判空問(wèn)題解決方案
問(wèn)題:mybatis返回的null類型數(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存儲(chǔ)過(guò)程參數(shù)的入門使用
這篇文章主要介紹了MySql存儲(chǔ)過(guò)程參數(shù)的入門使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04mysql 存儲(chǔ)過(guò)程判斷重復(fù)的不插入數(shù)據(jù)
這篇文章主要介紹了下面是一個(gè)較常見(jiàn)的場(chǎng)景,判斷表中某列是否存在某值,如果存在執(zhí)行某操作,需要的朋友可以參考下2017-01-01mysql binlog日志自動(dòng)清理及手動(dòng)刪除
本文主要介紹了mysql binlog日志自動(dòng)清理及手動(dòng)刪除,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01mysql中關(guān)于between和in的區(qū)別
這篇文章主要介紹了mysql中關(guān)于between和in的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07MAC下MYSQL5.7.17連接不上的問(wèn)題及解決辦法
MAC下MYSQL5.7.17無(wú)法連接的問(wèn)題,下載安裝完SQLBench_community 6.3.9后新建MYSQL CONNECTIONS根本連接不上,提示為密碼錯(cuò),什么原因如何解決呢?今天小編給大家解答下2017-02-02windows下安裝、卸載mysql服務(wù)的方法(mysql 5.6 zip解壓版安裝教程)
這篇文章主要介紹了windows下安裝、卸載mysql服務(wù)的方法(zip解壓版安裝),需要的朋友可以參考下2016-06-06將圖片保存到mysql數(shù)據(jù)庫(kù)并展示在前端頁(yè)面的實(shí)現(xiàn)代碼
這篇文章主要介紹了將圖片保存到mysql數(shù)據(jù)庫(kù)并展示在前端頁(yè)面,本文給的大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05