最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql字段為null的加減乘除運(yùn)算方式

 更新時(shí)間:2022年09月27日 15:42:36   作者:荒--  
這篇文章主要介紹了Mysql字段為null的加減乘除運(yùn)算方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Mysql字段為null的加減乘除運(yùn)算

數(shù)據(jù)庫(kù)表test_table

如下查詢:

select 
id,
total,
used,
(total - used) as have 
from test_table;

查詢結(jié)果:

解決辦法

使用IFNULL 函數(shù)來(lái)解決NULL值問(wèn)題

select 
id,
IFNULL(total,0) as total,
IFNULL(used,0) as used,
(IFNULL(total,0) - IFNULL(used,0)) as have 
from test_table;

查詢結(jié)果:

數(shù)據(jù)庫(kù)關(guān)于null不參與運(yùn)算的坑

舉個(gè)例子:(閱讀時(shí):請(qǐng)記住這個(gè)字段以及它的值 )

如果數(shù)據(jù)庫(kù)表里字段值為 null 時(shí),那么在寫(xiě)sql語(yǔ)句用這個(gè)值去做比較運(yùn)算時(shí)(一般看見(jiàn) null 或者參數(shù)類型為 string 時(shí) 也沒(méi)有人去做加減乘除),除了 is nl 或者 is not nlll 沒(méi)有其他操作, 有時(shí) 字段類型string ,值為 "2" 時(shí), 會(huì)用 <> 如果數(shù)據(jù)庫(kù)表里字段值為 null 時(shí),那么在寫(xiě)sql語(yǔ)句用這個(gè)值去做比較運(yùn)算時(shí)(一般看見(jiàn) null 或者參數(shù)類型為 string 時(shí) 也沒(méi)有人去做加減乘除),除了 is null 或者 is not null 沒(méi)有其他操作, 有時(shí) 字段類型string ,值為 "2" 時(shí), 會(huì)用 <> (不等于)] 判斷,這都沒(méi)問(wèn)題,問(wèn)題出現(xiàn)在 null 與其他值同時(shí)存在這個(gè) 當(dāng)前字段 下,那么用 <> 會(huì)造成 mysql 查詢不到數(shù)據(jù),因?yàn)?<>"2" 不會(huì)把 null 過(guò)濾出去,此時(shí) null 是參與運(yùn)算的,所以sql語(yǔ)句應(yīng)當(dāng)調(diào)整為 坑 is null(is not null) and 坑=“2”(坑<>“2”) 這種寫(xiě)法,sql執(zhí)行之后才會(huì)是我們想要的結(jié)果。

發(fā)生場(chǎng)景

Mybatis框架的動(dòng)態(tài)sql 在寫(xiě)xml映射文件時(shí) 比如: <if test=" 坑 = ‘2’ 或(坑 <> ‘2’) > 這種不實(shí)時(shí)看數(shù)據(jù)庫(kù),腦子里還想著業(yè)務(wù)需求怎么實(shí)現(xiàn)時(shí)(一心二用)

其本質(zhì)還是對(duì)于 基礎(chǔ)知識(shí) 掌握不扎實(shí),所以不斷進(jìn)步的同時(shí),也不要忘了 夯實(shí)基礎(chǔ) 個(gè)人理解: 動(dòng)態(tài)sql最強(qiáng)大的 不是它的語(yǔ)法和格式的優(yōu)點(diǎn),首先 它并沒(méi)有原生sql語(yǔ)句的可讀性高,其次 動(dòng)態(tài)sql本質(zhì)也 僅僅 就起到一個(gè)sql語(yǔ)句拼接的作用,它真正強(qiáng)大的點(diǎn)是 <forEach> 這個(gè)可以遍歷集合的標(biāo)簽,這是原生sql語(yǔ)句無(wú)法做到的事情,所以在沒(méi)有對(duì) 集合 進(jìn)行操作的情況下,盡量用原生sql去做。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

瑞安市| 娄烦县| 康马县| 合作市| 沈丘县| 景德镇市| 枣阳市| 响水县| 土默特左旗| 靖远县| 天全县| 兴文县| 东辽县| 沈丘县| 石棉县| 平南县| 阳高县| 涿鹿县| 西乌| 临清市| 镇雄县| 临西县| 绩溪县| 乌兰浩特市| 台山市| 同江市| 寻甸| 尚义县| 西和县| 柞水县| 岳池县| 阿巴嘎旗| 张家川| 无棣县| 东乌珠穆沁旗| 临沭县| 霍州市| 洛隆县| 集贤县| 温宿县| 电白县|