国产探花免费观看_亚洲丰满少妇自慰呻吟_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()函數詳解
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘阴县| 游戏| 衡南县| 河曲县| 北海市| 石渠县| 新邵县| 永清县| 澄江县| 磐安县| 麟游县| 玉屏| 松江区| 江北区| 丹凤县| 弋阳县| 莱芜市| 英山县| 靖安县| 红安县| 湘阴县| 巴彦淖尔市| 嘉黎县| 大英县| 五河县| 武义县| 邢台市| 海丰县| 高淳县| 广州市| 突泉县| 仪陇县| 洛隆县| 西青区| 伊春市| 呼伦贝尔市| 南乐县| 泸水县| 衡南县| 余江县| 西林县|