天天看點

MYSQL IFNULL使用功能

大家好,又見面了,我是全棧君,今天給大家準備了Idea注冊碼。

稍後的MYSQL IFNULL使用此功能的特定叙事,供大家參考學習,假設你MYSQL IFNULL條款的使用功能類别遇到似問題。最好看。

MYSQL IFNULL(expr1,expr2)

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

mysql> select IFNULL(1,0);

-> 1

mysql> select IFNULL(0,10);

-> 0

mysql> select IFNULL(1/0,10);

-> 10

mysql> 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);

-> 3

mysql> select IF(1<2,yes,no);

-> yes

mysql> select IF(strcmp(test,test1),yes,no);

-> no

expr1作為整數值被計算。它意味着假設你正在測試浮點或字元串值。你應該使用一個比較操作來做。

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

-> 0

mysql> 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 IFNULL函數的使用進行了具體的叙述,供您參考學習。假設您在MYSQL IFNULL函數使用方面遇到過類似的問題,最好還是一看。

MYSQL IFNULL(expr1,expr2)

假設expr1不是NULL,IFNULL()傳回expr1,否則它傳回expr2。

IFNULL()傳回一個數字或字元串值,取決于它被使用的上下文環境。

mysql> select IFNULL(1,0);

-> 1

mysql> select IFNULL(0,10);

-> 0

mysql> select IFNULL(1/0,10);

-> 10

mysql> 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);

-> 3

mysql> select IF(1<2,yes,no);

-> yes

mysql> select IF(strcmp(test,test1),yes,no);

-> no

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

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

-> 0

mysql> 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

版權聲明:本文部落格原創文章。部落格,未經同意,不得轉載。

釋出者:全棧程式員棧長,轉載請注明出處:https://javaforall.cn/117657.html原文連結:https://javaforall.cn