国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

淺談Mysql中類似于nvl()函數的ifnull()函數

2024-07-24 12:52:28
字體:
來源:轉載
供稿:網友

IFNULL(expr1,expr2)

如果expr1不是NULL,IFNULL()返回expr1,否則它返回expr2。IFNULL()返回一個數字或字符串值,取決于它被使用的上下文環境。

mysql> select IFNULL(1,0); -> 1mysql> select IFNULL(0,10); -> 0mysql> select IFNULL(1/0,10); -> 10mysql> select IFNULL(1/0,'yes'); -> 'yes' IF(expr1,expr2,expr3)

如果expr1是TRUE(expr1<>0且expr1<>NULL),那么IF()返回expr2,否則它返回expr3。IF()返回一個數字或字符串值,取決于它被使用的上下文。

mysql> select IF(1>2,2,3); -> 3mysql> select IF(1<2,'yes','no'); -> 'yes'mysql> select IF(strcmp('test','test1'),'yes','no'); -> 'no'

expr1作為整數值被計算,它意味著如果你正在測試浮點或字符串值,你應該使用一個比較操作來做。

mysql> select IF(0.1,1,0); -> 0mysql> select IF(0.1<>0,1,0); -> 1

在上面的第一種情況中,IF(0.1)返回0,因為0.1被變換到整數值, 導致測試IF(0)。這可能不是你期望的。在第二種情況中,比較測試原來的浮點值看它是否是非零,比較的結果被用作一個整數。

CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result ...] [ELSE result] END   CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END

第一個版本返回result,其中value=compare-value。第二個版本中如果第一個條件為真,返回result。如果沒有匹配的result值,那么結果在ELSE后的result被返回。如果沒有ELSE部分,那么NULL被返回。

mysql> SELECT CASE 1 WHEN 1 THEN "one" WHEN 2 THEN "two" ELSE "more" END; -> "one"mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END; -> "true"mysql> SELECT CASE BINARY "B" when "a" then 1 when "b" then 2 END;-> NULL

以上這篇淺談Mysql中類似于nvl()函數的ifnull()函數就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持錯新站長站。

您可能感興趣的文章:

mysql中IFNULL,IF,CASE的區別介紹淺談SQLServer的ISNULL函數與Mysql的IFNULL函數用法詳解MySql中的IFNULL、NULLIF和ISNULL用法詳解mysql中替代null的IFNULL()與COALESCE()函數詳解
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐清市| 楚雄市| 卢氏县| 兴义市| 彭山县| 白朗县| 平潭县| 浦北县| 桦甸市| 泾阳县| 安徽省| 乐亭县| 贵定县| 凤台县| 康乐县| 孝昌县| 浦城县| 贵阳市| 临夏市| 唐山市| 吴川市| 南宫市| 乌鲁木齐市| 珠海市| 民勤县| 镇远县| 固始县| 苍山县| 横峰县| 铅山县| 屯留县| 马关县| 北海市| 会昌县| 新龙县| 柘荣县| 诸暨市| 南城县| 茌平县| 宁乡县| 英山县|