·
if(expr1,expr2,expr3)
如果 expr1
是true (expr1
<> 0 and 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'),'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
都是字串,且其中任何乙個字串區分大小寫,則返回結果是區分大小寫。
if contion then list
[elseif condition then list].........
[else list]
end if
MySQL中if case條件語句基本用法
在mysql中if case語句的用法非常的多可以用在普通的表達試中同時也可以使用在儲存過程中,下面我們來看一些關於if case用法例子。if表示式 if expr1,expr2,expr3 如果 expr1 是true expr1 0 and expr1 null 則 if 的返回值為expr2...
mysql的條件語句 mysql條件語句
and c.shouli sj 1288945672andc.diaochaqingkuangisnull or c.shouli sj 1288945672andc.diaochaqingkuangisnull or c.diaochaqingkuang 這塊有問題該怎麼改?selectc.u.n...
mysql的條件語句 MySQL條件語句
好的,所以我有乙個如下所示的查詢 select orders group concat concat menu items name format menu items price 2 separator as items sum menu items price as additional chi...