mysql中的if條件語句用法


· IF(expr1,expr2,expr3)

如果 expr1 TRUE (expr1 <> 0 and expr1 <> NULL),則 IF()的返回值為expr2; 否則返回值則為 expr3IF()的返回值為數字值或字符串值,具體情況視其所在語境而定。

mysql> SELECT IF(1>2,2,3);

        -> 3

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

        -> 'yes'

mysql> SELECT IF(STRCMP('test','test1'),'no','yes');

        -> 'no'

如果expr2 expr3中只有一個明確是 NULL,則IF() 函數的結果類型 為非NULL表達式的結果類型。

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)的檢驗。這或許不是你想要的情況。在第二個例子中,比較檢驗了原始浮點值,目的是為了了解是否其為非零值。比較結果使用整數。

IF() (這一點在其被儲存到臨時表時很重要 的默認返回值類型按照以下方式計算:

表達式

返回值

expr2 expr3 返回值為一個字符串。

字符串

expr2 expr3 返回值為一個浮點值。

浮點

expr2 或 expr3 返回值為一個整數。 

整數

假如expr2 expr3 都是字符串,且其中任何一個字符串區分大小寫,則返回結果是區分大小寫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM