02/10/2018, 00:33

[SQLSERVER] Truy vấn nhiều column thành một Column sử dụng từ khóa STUFF trong SQL

Bài viết hôm nay, mình sẽ hướng dẫn các bạn sử dụng từ khóa STUFF trong Sql để truy vấn dữ liệu nhiều cột thành một cột. Với cú pháp hàm STUFF bên dưới có kết quả trả về là một chuỗi mới sau khi đã hủy bỏ một số ký tự hiện có và thêm vào một chuỗi con ...

Bài viết hôm nay, mình sẽ hướng dẫn các bạn sử dụng từ khóa STUFF trong Sql để truy vấn dữ liệu nhiều cột thành một cột.

Với cú pháp hàm STUFF bên dưới có kết quả trả về là một chuỗi mới sau khi đã hủy bỏ một số ký tự hiện có và thêm vào một chuỗi con khác tại vị trí vừa hủy bỏ.

Giao diện demo:

stuff trong sqlserver
 

Trong đó :
• Chuỗi nguồn : là một chuỗi chứa các ký tự.
• Vị trí : là một số nguyên chỉ định vị trí bắt đầu hủy bỏ các ký tự bên trong chuỗi nguồn.
• Chiều dài : là một số nguyên chỉ định bao nhiêu ký tự sẽ bị hủy bỏ trong chuỗi nguồn đếm từ bên trái vị trí chỉ định.
• Chuỗi con : là một chuỗi sẽ được thêm vào chuỗi nguồn tại vị trí hủy bỏ ở trên.
Ví dụ :
Thực hiện câu lệnh SELECT có sử dụng hàm STUFF bên dưới dùng để hủy bỏ vài ký tự trong một chuỗi và thêm vào một chuỗi khác tại vị trí đã hủy bỏ.

Dưới đây mình sẽ ví dụ:

Đầu tiên các bạn truy vấn tên Employee 

SELECT LastName + FirstName AS Fullname FROM dbo.Employees

- Câu lệnh chuyển nhiều column thành một column SQL

SELECT STUFF((select ', ' + LastName + FirstName
              FROM dbo.Employees
              for xml path (')
             ), 1, 2, ') AS fullname

HAVE FUN :)

Tags:
0