IF函数用于MySQL中简单条件判断,根据表达式真假返回不同值,常用于SELECT语句。语法为IF(expr, true_val, false_val),如判断学生成绩是否及格或计算商品折后价。可通过嵌套实现多条件判断,但复杂场景建议使用CASE语句。

MySQL中的IF函数用于在查询中执行简单的条件判断,它根据表达式的真假返回不同的值。这个函数常用于SELECT语句中,实现字段的动态输出。
IF函数语法
IF(expr, true_val, false_val)
说明:
- expr:要判断的条件表达式
- true_val:当expr为真(非0)时返回的值
- false_val:当expr为假(0或NULL)时返回的值
基本使用示例
假设有一个学生表 student,包含 score 字段:
SELECT name,
IF(score >= 60, '及格', '不及格') AS result
FROM student;这会根据分数是否大于等于60,显示“及格”或“不及格”。
也可以用于数值计算:
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
SELECT price,
IF(discount > 0, price * (1 - discount), price) AS final_price
FROM products;如果有折扣,则计算折后价,否则返回原价。
嵌套IF实现多条件判断
虽然IF只支持两分支判断,但可以嵌套使用来处理多种情况:
SELECT name,
IF(score >= 90, '优秀',
IF(score >= 80, '良好',
IF(score >= 60, '及格', '不及格')
)
) AS level
FROM student;这种写法可实现多个分数段的评级。
与CASE比较
IF适合简单二选一判断,而复杂多分支建议用CASE语句,更清晰易读。但在简单场景下,IF写法更简洁。
基本上就这些,IF函数是MySQL中非常实用的条件控制工具,特别适合在查询中做即时判断和数据转换。









