mysql读书笔记---if语句
·IF(expr1,expr2,expr3)
如果expr1是TRUE(expr1<>0 and expr1<>NULL),則IF()的返回值為expr2;否則返回值則為expr3。IF()的返回值為數(shù)字值或字符串值,具體情況視其所在語(yǔ)境而定。
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中只有一個(gè)明確是?NULL,則IF()?函數(shù)的結(jié)果類型?為非NULL表達(dá)式的結(jié)果類型。
expr1作為一個(gè)整數(shù)值進(jìn)行計(jì)算,就是說(shuō),假如你正在驗(yàn)證浮點(diǎn)值或字符串值, 那么應(yīng)該使用比較運(yùn)算進(jìn)行檢驗(yàn)。
mysql>SELECT IF(0.1,1,0);
->0
mysql>SELECT IF(0.1<>0,1,0);
->1
在所示的第一個(gè)例子中,IF(0.1)的返回值為0,原因是0.1被轉(zhuǎn)化為整數(shù)值,從而引起一個(gè)對(duì)IF(0)的檢驗(yàn)。這或許不是你想要的情況。在第二個(gè)例子中,比較檢驗(yàn)了原始浮點(diǎn)值,目的是為了了解是否其為非零值。比較結(jié)果使用整數(shù)。
IF()(這一點(diǎn)在其被儲(chǔ)存到臨時(shí)表時(shí)很重要?)?的默認(rèn)返回值類型按照以下方式計(jì)算:
表達(dá)式
返回值
expr2或expr3返回值為一個(gè)字符串。
字符串
expr2或expr3返回值為一個(gè)浮點(diǎn)值。
浮點(diǎn)
IFNULL(expr1,expr2):expr1為空則把expr2返回
總結(jié)
以上是生活随笔為你收集整理的mysql读书笔记---if语句的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql海量数据查询/处理
- 下一篇: 玩转oracle 11g(18):数据库