MySQL SELECT AS将两列合并为一个
使用这个解决scheme ,我尝试使用COALESCE作为MySQL查询的一部分,该查询使用SELECT As输出到csv文件,以在导出数据时命名列名。
SELECT FirstName AS First_Name , LastName AS Last_Name , ContactPhoneAreaCode1 , ContactPhoneNumber1 , COALESCE(ContactPhoneAreaCode1, ContactPhoneNumber1) AS Contact_Phone FROM TABLE1
我想要3列:First_Name,Last_Name和Contact_Phone
我得到5列:First_Name,Last_Name,ContactPhoneAreaCode1,ContactPhoneNumber1和Contact_Phone
如何在查询中隐藏ContactPhoneAreaCode1,ContactPhoneNumber1到Contact_Phone的单个列的合并?
如果两列都可以包含NULL ,但您仍然想将它们合并到一个string中,最简单的解决scheme是使用CONCAT_WS() :
SELECT FirstName AS First_Name , LastName AS Last_Name , CONCAT_WS('', ContactPhoneAreaCode1, ContactPhoneNumber1) AS Contact_Phone FROM TABLE1
这样你就不必单独检查每列的NULL 。
或者,如果两个列实际上定义为NOT NULL , CONCAT()就足够了:
<