如果要COALESCE()
在MySQL表的数据值上应用函数,则需要使用列名作为该函数的参数。如果第一列中有NULL值,则它将检查下一个列,依此类推,直到获得非NULL值为止。我们正在使用“员工”表中的数据,以证明上述概念-
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。