MySQL的IF函數(shù)是比較常用的一個(gè)函數(shù),它可以實(shí)現(xiàn)簡(jiǎn)單的條件判斷功能。IF函數(shù)有三個(gè)參數(shù),分別是條件,條件成立時(shí)的返回值和條件不成立時(shí)的返回值。其語(yǔ)法如下:
IF(condition, true_value, false_value)
其中,condition是條件,可以是一個(gè)表達(dá)式或者一個(gè)比較運(yùn)算符。true_value是當(dāng)條件成立時(shí)的返回值,false_value是當(dāng)條件不成立時(shí)的返回值。
下面給出一個(gè)例子:
SELECT IF(score>60, '及格', '不及格') FROM student;
上面的代碼中,如果學(xué)生成績(jī)大于60,則返回'及格',否則返回'不及格'。
需要注意的是,IF函數(shù)在使用時(shí)需要遵循以下幾點(diǎn)規(guī)則:
- condition只能是一個(gè)表達(dá)式或者一個(gè)比較運(yùn)算符,不能是函數(shù)或者子查詢(xún)。
- true_value和false_value可以是任何類(lèi)型的值,包括表達(dá)式和子查詢(xún)。
- true_value和false_value的類(lèi)型必須一致。
最后,IF函數(shù)還支持嵌套的使用,例如:
SELECT IF(score>90, '優(yōu)秀', IF(score>80, '良好', IF(score>60, '及格', '不及格'))) FROM student;
上面的代碼中,如果學(xué)生成績(jī)大于90,則返回'優(yōu)秀',否則執(zhí)行嵌套的IF函數(shù),如果成績(jī)大于80,則返回'良好',否則再次執(zhí)行嵌套的IF函數(shù),以此類(lèi)推。