2010-07-15 37 views
17

Tôi muốn để có thể làm điều gì đó như thế nàyLàm cách nào để có được tên và họ của họ dưới dạng tên đầy đủ trong truy vấn MYSQL?

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

Vì vậy, về cơ bản tôi nhận được một cột lại whole_name đó là first_namelast_name nối cùng với một (không gian).

Làm cách nào để làm điều đó trong SQL, hoặc cụ thể hơn, MySQL?

Trả lời

0

Khi bạn có ba cột: 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; 
0

Bạn có thể sử dụng một truy vấn để có được giống nhau:

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

Lưu ý: Truy vấn này trả về nếu tất cả các cột có một số giá trị nếu bất kỳ ai là null hoặc rỗng thì nó sẽ trả về null cho tất cả, có nghĩa là Tên sẽ trả về "NULL"

Để tránh ở trên, chúng tôi có thể sử dụng từ khóa IsNull để nhận được như vậy.

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

Nếu bất kỳ ai có giá trị null '' (khoảng trắng) sẽ cộng với giá trị tiếp theo.

Các vấn đề liên quan