日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MySql 里的IFNULL、NULLIF和ISNULL用法

發布時間:2025/3/21 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySql 里的IFNULL、NULLIF和ISNULL用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天用到了MySql里的isnull才發現他和MSSQL里的還是有點區別,現在簡單總結一下:

mysql中isnull,ifnull,nullif的用法如下:

isnull(expr) 的用法:
如expr 為null,那么isnull() 的返回值為 1,否則返回值為 0。?
mysql> select isnull(1+1);
-> 0
mysql> select isnull(1/0);
-> 1
使用= 的null 值對比通常是錯誤的。?

isnull() 函數同 is null比較操作符具有一些相同的特性。請參見有關is null 的說明。

IFNULL(expr1,expr2)的用法:

假如expr1?? 不為???NULL,則?? IFNULL()?? 的返回值為?? expr1;?
否則其返回值為?? expr2。IFNULL()的返回值是數字或是字符串,具體情況取決于其所使用的語境。

mysql>?? SELECT?? IFNULL(1,0);???
????????????????? ->?? 1???
mysql>?? SELECT?? IFNULL(NULL,10);???
?? ->?? 10???
?mysql>?? SELECT?? IFNULL(1/0,10);???
?????????? ->?? 10???
mysql>?? SELECT???
IFNULL(1/0,'yes');???

??????????? ->?? 'yes'??

IFNULL(expr1,expr2)的默認結果值為兩個表達式中更加“通用”的一個,順序為STRING、?? REAL或???
INTEGER。假設一個基于表達式的表的情況,???? 或MySQL必須在內存儲器中儲存一個臨時表中IFNULL()的返回值:???
CREATE?? TABLE?? tmp?? SELECT?? IFNULL(1,'test')?? AS?? test;???
在這個例子中,測試列的類型為?? CHAR(4)。??????
NULLIF(expr1,expr2)??的用法:??
如果expr1?
=?? expr2???? 成立,那么返回值為NULL,否則返回值為?? expr1。這和CASE?? WHEN?? expr1?? =?? expr2???
THEN???NULL?? ELSE?? expr1?? END相同。?????
mysql>?? SELECT???
NULLIF(1,1);???

?????????? ->???NULL???
mysql>?? SELECT?? NULLIF(1,2);???
??????????? ->?? 1??
如果參數不相等,則???MySQL?? 兩次求得的值為???? expr1?? 。

from:?https://www.cnblogs.com/JuneZhang/archive/2010/08/26/1809306.html?

總結

以上是生活随笔為你收集整理的MySql 里的IFNULL、NULLIF和ISNULL用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。