if(expr1,expr2,expr3)
其中,expr1是一个条件表达式,当它的值为真时,if()函数返回expr2;当它的值为假时,返回expr3。在MySQL中,expr1不一定是布尔型,任何表达式都可以作为条件表达式。expr2和expr3可以是任何合法的表达式。
下面是一个示例:
SELECT IF(score>=60, '及格', '不及格') as result FROM students;
这个SQL语句会将students表中每个学生的成绩判断是否及格,如果及格则返回“及格”,否则返回“不及格”,并将结果存放在result列中。
if()函数在MySQL中也可以嵌套使用,用来处理更为复杂的条件判断。例如:
SELECT IF(score<60, '不及格', IF(score<70, '及格', IF(score<80, '中等', '优秀'))) as result FROM students;
这个SQL语句会将students表中每个学生的成绩分为不及格、及格、中等和优秀四个等级,并将结果存放在result列中。
总的来说,if()函数在MySQL中是非常常用的函数,用来实现简单的条件判断和较为复杂的条件判断都非常方便。