我希望能夠做這樣的事如何在MYSQL查詢中獲取名字和姓氏的全名?
SELECT `first_name` + " " + `last_name` as `whole_name` FROM `users`
所以基本上我得到一列回whole_name
這是first_name
和last_name
有(空間)連接在一起。
我該如何在SQL或更具體的MySQL中做到這一點?
我希望能夠做這樣的事如何在MYSQL查詢中獲取名字和姓氏的全名?
SELECT `first_name` + " " + `last_name` as `whole_name` FROM `users`
所以基本上我得到一列回whole_name
這是first_name
和last_name
有(空間)連接在一起。
我該如何在SQL或更具體的MySQL中做到這一點?
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`
當你有三列:名字,姓氏,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;
您可以使用查詢來獲得相同的:
SELECT CONCAT(FirstName , ' ' , MiddleName , ' ' , Lastname) AS Name FROM TableName;
注意:如果所有列都具有某個值(如果任何人爲null或空),則此查詢將返回,那麼它將返回null all,表示名稱將返回「NULL」
爲避免上述情況,我們可以使用IsNull
關鍵字來獲得相同的結果。
SELECT Concat(Ifnull(FirstName,' ') ,' ', Ifnull(MiddleName,' '),' ', Ifnull(Lastname,' ')) FROM TableName;
如果任何包含空值的''(空格)將添加下一個值。
+1:CONCAT也可以工作得很好:'CONCAT(first_name,'',last_name)AS whole_name' – 2010-07-15 01:20:55
當你有一個帶NULL的字段(例如:中間名)時,CONCAT_WS是安全的。 如果任何連接字段爲null,CONCAT將返回NULL – 2012-10-14 09:11:51