IF函数用于查询中条件判断,语法为IF(条件, 值1, 值2);条件为真返回值1,否则返回值2;可用于判断年龄成年与否、字段是否为空、数值高低等;支持嵌套实现多分支判断,但复杂场景建议用CASE语句。

MySQL中的IF函数是一个流程控制函数,用于在查询中实现简单的条件判断。它不是像程序语言中的if语句那样控制执行流程,而是在SELECT或其他表达式中根据条件返回不同的值。
基本语法
IF(条件, 值1, 值2)
说明:
- 如果“条件”为真(即结果不等于0),则返回“值1”
- 如果“条件”为假(即结果等于0),则返回“值2”
使用示例
1. 在SELECT中判断字段值
例如,有一个用户表users,包含age字段,你想根据年龄判断是否成年:
SELECT name, age, IF(age >= 18, '成年', '未成年') AS status FROM users;
这个查询会为每个人返回对应的“成年”或“未成年”状态。
2. 判断字段是否为空
检查某个字段是否为空,并给出提示:
免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支
SELECT name, IF(phone IS NULL, '未填写', phone) AS contact FROM users;
如果phone为空,就显示“未填写”,否则显示实际电话号码。
3. 数值比较与标记
比如订单表中有一个score字段,用IF来判断评分高低:
SELECT order_id, score, IF(score > 80, '高分', '低分') AS level FROM orders;
嵌套IF的使用
虽然IF只支持两分支判断,但可以通过嵌套实现多条件判断:
SELECT name, age,
IF(age < 13, '儿童',
IF(age <= 18, '青少年', '成人')) AS category
FROM users;
这样可以实现类似“多分支”的效果。
注意:对于更复杂的多条件判断,建议使用CASE语句,可读性更好。
基本上就这些。IF函数适合在查询中做简单判断,让结果更直观。









