如果我们想在MySQL表的数据值上应用COALESCE()函数,那么我们需要使用列名作为该函数的参数。如果第一列中有NULL值,它将检查下一列,依此类推,直到找到非NULL值。我们使用'employee'表中的数据来演示上述概念,如下所示:
mysql> Select * from employee;
+----+------------+-------------+-----------+
| Id | First_Name | Middle_Name | Last_Name |
+----+------------+-------------+-----------+
| 1 | Advik | NULL | Jhamb |
| 2 | Rahul | Kumar | Sharma |
| 3 | Raman | Singh | Rajput |
| 4 | Krishan | Kumar | Khurana |
| 5 | Sachin | Ramesh | Tendulkar |
| 6 | NULL | Kumar | Gaurav |
| 7 | NULL | Singh | Parmar |
+----+------------+-------------+-----------+
7 rows in set (0.00 sec)
mysql> Select COALESCE(First_Name, Middle_Name,Last_Name)AS Name FROM Employee;
+---------+
| Name |
+---------+
| Advik |
| Rahul |
| Raman |
| Krishan |
| Sachin |
| Kumar |
| Singh |
+---------+
7 rows in set (0.03 sec)
在上面的示例中,COALESCE()函数有三个参数,上面的查询从First_Name、Middle_Name和Last_Name返回名称,并且如果First_Name为NULL,则返回Middle_Name的值。然后对于Last_Name,如果First_Name和Middle_Name为NULL,则返回Last_Name的值。如果First_Name、Middle_Name和Last_Name这三个都为NULL,则返回NULL。