如何在MYSQL查询中将名字和姓氏作为整个名称?

时间:2010-07-15 00:24:45

标签: sql mysql

我希望能够做到这样的事情

SELECT `first_name` + " " + `last_name` as `whole_name` FROM `users`

所以基本上我得到一列whole_namefirst_namelast_name(空格)连接在一起。

我如何在SQL中,或更具体地说,MySQL?

4 个答案:

答案 0 :(得分:44)

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat-ws

SELECT CONCAT_WS(" ", `first_name`, `last_name`) AS `whole_name` FROM `users`

答案 1 :(得分:1)

您可以使用查询来获得相同的内容:

SELECT CONCAT(FirstName , ' ' , MiddleName , ' ' , Lastname) AS Name FROM TableName;

注意:如果所有列都为null或为空,则此查询将返回所有列,然后它将为所有列返回null,表示Name将返回" NULL"

为了避免上述原因,我们可以使用IsNull关键字来获得相同的内容。

SELECT Concat(Ifnull(FirstName,' ') ,' ', Ifnull(MiddleName,' '),' ', Ifnull(Lastname,' ')) FROM TableName;

如果任何人包含空值,那么' ' (空格)将添加下一个值。

答案 2 :(得分:0)

如果有三列:first_name,last_name,mid_name:

SELECT CASE 
    WHEN mid_name IS NULL OR TRIM(mid_name) ='' THEN
        CONCAT_WS( " ", first_name, last_name ) 
    ELSE 
        CONCAT_WS( " ", first_name, mid_name, last_name ) 
    END 
FROM USER;

答案 3 :(得分:0)

rtrim(lastname)+','+rtrim(firstname) as [Person Name]
from Table

结果将显示姓氏,名字作为一个列标题!