mysql if
时间: 2023-06-29 21:13:33 浏览: 36
MySQL 中 IF 函数用于根据条件判断返回不同的值。其基本语法如下:
```
IF(condition, value_if_true, value_if_false)
```
其中,condition 是一个条件表达式,如果为真,则返回 value_if_true,否则返回 value_if_false。
举个例子,假设我们有一个表 users,包含 id、age 和 gender 三个字段,我们需要根据 gender 字段的值来返回不同的描述。如果 gender 为 0,则返回 "男性",如果为 1,则返回 "女性",否则返回 "未知"。可以使用如下 SQL 语句:
```
SELECT id, age, IF(gender=0, '男性', IF(gender=1, '女性', '未知')) AS gender_desc FROM users;
```
这条语句的含义是:如果 gender 为 0,则返回 "男性",如果为 1,则返回 "女性",否则返回 "未知",并将结果命名为 gender_desc。
IF 函数还可以嵌套使用,实现更复杂的条件判断。例如,假设我们需要根据 age 字段的值来返回不同的描述。如果 age 大于等于 18,则返回 "成年人",否则根据 gender 字段的值来返回 "男孩" 或 "女孩"。可以使用如下 SQL 语句:
```
SELECT id, age, gender, IF(age>=18, '成年人', IF(gender=0, '男孩', '女孩')) AS age_desc FROM users;
```
这条语句的含义是:如果 age 大于等于 18,则返回 "成年人",否则根据 gender 字段的值来返回 "男孩" 或 "女孩",并将结果命名为 age_desc。