色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

MySql中 is Null段判斷無效和IFNULL()失效的解決方案

瀏覽:99日期:2023-10-01 17:12:01
MySql Null字段判斷,和IFNULL失效的處理

ps:(不想看過程就直接把你的sql外邊加上 一個select就好了)

select a,b,c from table group by a,b,c //這時候a,b,c 如果判斷null不管用select IFNULL(a,0),IFNULL(b,0),IFNULL(3,0) from (select a,b,c from table group by a,b,c ) //這樣就好啦

不說廢話舉個栗子,首先看一下這個很簡單的表

MySql中 is Null段判斷無效和IFNULL()失效的解決方案

當我使用SQL語句通過PID進行分組查詢,把列轉為行的時候結果展示是這樣的

MySql中 is Null段判斷無效和IFNULL()失效的解決方案

不管我怎么IFNULL(SID1,0) 或者 IF( SID1 is null,0,SID1)展示結果依舊是 NULL -.-!很無奈啊。

我的sql是這么寫的 沒有用過 MAX函數的可以直接忽略,只看IFNULL就好,很明顯我是加了IFNULL的。

SELECTPID,MAX(CASE WHEN SID = 1 THEN IFNULL(PNUM ,0) END) AS SID1,MAX(CASE WHEN SID = 2 THEN IFNULL(PNUM ,0) END) AS SID2,MAX(CASE WHEN SID = 3 THEN IFNULL(PNUM ,0) END) AS SID3FROM(SELECTPID,SUM(PNUM) PNUM,SIDFROMAGROUP BYPID) tempGROUP BYtemp.PID

但是我發現結果仍舊是NULL,然后我發現,IFNULL(),is null 這些判斷只能判斷出來表中存在這個對應的字段,并且為NULL才可以,而我的表中很明顯沒有這個字段,所以是判斷不出來的!

在你Select之后通過處理查詢出來的NULL mysql 的is null 和IFNULL() 是不識別的

說了這么多,那應該怎么解決呢?

很簡單,沒有表就來一個唄!(新建一個Table?)想啥呢!

首先,去掉查詢中的IFNULL,沒有作用留著干嘛,

然后用一個 select 語句把剛才的結果集當做一個表來查詢,這樣就相當于你查詢的表中存在這個字段,而且值為NULL

SELECTPID,IFNULL(SID1,0) SID1,IFNULL(SID2,0) SID2,IFNULL(SID3,0) SID3FROM(SELECTPID,MAX(CASE WHEN SID = 1 THEN PNUM END) AS SID1,MAX(CASE WHEN SID = 2 THEN PNUM END) AS SID2,MAX(CASE WHEN SID = 3 THEN PNUM END) AS SID3FROM(SELECTPID,SUM(PNUM) PNUM,SIDFROMAGROUP BYPID) tempGROUP BYtemp.PID) temp1

看吧,結果就出來了 哈哈哈哈哈~

MySql中 is Null段判斷無效和IFNULL()失效的解決方案

MySql使用 IFNULL() 遇到的問題關于 ifnull() 函數

IFNULL(a,b) c

如果a不為null,則 c 的值為 a

如果a為null,則 c 的值為 b

實際使用時遇到的問題

IFNULL(a,b) c

若 a 不是為null,而是為 ’ ’ 空字符串,則 c 的值為 a 空字符串。

而實際想要的結果是,a 為空字符串或者null, c 的值都為b。

解決方案

改用 if()函數

if(a =’’ or a is null,b,a) c

這段的意思是:如果 a 為 null 或者空字符串,c=b;否則 c=a;

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 福利视频黄| 国产成人免费高清视频 | 5388国产亚洲欧美在线观看 | 国产精品1区2区3区 国产精品1区2区3区在线播放 | 人与拘一级a毛片 | 精品国产一区在线观看 | 日韩一级不卡 | 国产成人18黄网站在线观看网站 | 91探花福利精品国产自产在线 | 在线观看免费为成年视频 | 亚洲欧美一区二区三区在线 | 亚洲精品国产啊女成拍色拍 | 996re免费热在线视频手机 | 国产性精品 | 国产美女精品一区二区三区 | 国产精品久久久久久久久免费 | 国产草草影院ccyycom软件 | 毛片三级| 国产三级精品在线 | 成 人 动漫在线观看网站网站 | 91桃色成人免费 | www.日本在线观看 | 欧美日本一区二区三区道 | 成人在线免费小视频 | 午夜一级做a爰片久久毛片 午夜伊人网 | 久久91视频 | 国产99视频免费精品是看6 | 狠狠色丁香婷婷久久综合考虑 | 国产伦精品一区三区视频 | 国产永久免费视频m3u8 | 最近中文字幕免费视频 | 国产成a人亚洲精v品久久网 | 超级乱淫视频aⅴ播放视频 超级碰碰碰在线观看 | 国产亚洲综合精品一区二区三区 | 免费观看欧美成人h | 性欧美美国级毛片 | 亚洲国产精品一区二区久 | 成人精品视频 | 国产手机在线视频放线视频 | 久久精品亚洲精品国产欧美 | 亚洲日本欧美综合在线一 |