如何使用 MySQL 的 IF() 函数为行自定义值,而不是 NULL?


假设在我们的“员工”表中,我们有两个员工的“工资”列的值为 NULL。如下所示的数据本身没有意义。

mysql> Select * from employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1 | Gaurav  | 50000  |
| 2 | Rahul   | 20000  |
| 3 | Advik   | 25000  |
| 4 | Aarav   | 65000  |
| 5 | Ram     | 20000  |
| 6 | Mohan   | 30000  |
| 7 | Aryan   | NULL   |
| 8 | Vinay   | NULL   |
+----+--------+--------+
8 rows in set (0.22 sec)

我们可以使用 IF() 函数将 NULL 替换为“N/A”来避免在输出中显示 NULL。

mysql> Select ID,Name,IF(Salary IS NULL, 'N/A',Salary) As 'Salary' from employee;
+----+--------+--------+
| ID | Name   | Salary |
+----+--------+--------+
| 1  | Gaurav | 50000  |
| 2  | Rahul  | 20000  |
| 3  | Advik  | 25000  |
| 4  | Aarav  | 65000  |
| 5  | Ram    | 20000  |
| 6  | Mohan  | 30000  |
| 7  | Aryan  | N/A    |
| 8  | Vinay  | N/A    |
+----+--------+--------+
8 rows in set (0.00 sec)

更新于:2020 年 2 月 11 日

75 条浏览量

开启您的 职业生涯

完成课程并取得认证

开始
广告
© . All rights reserved.