Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Ý nghĩa của SELECT ... FOR XML PATH (''), 1,1) là gì?

Không có kỹ thuật thực sự nào để học ở đây. Nó chỉ là một thủ thuật dễ thương để nối nhiều hàng dữ liệu thành một chuỗi duy nhất. Đó là một cách sử dụng tính năng kỳ quặc hơn là một mục đích sử dụng XML tính năng định dạng.

SELECT ',' + ColumnName ... FOR XML PATH('')

tạo một tập hợp các giá trị được phân tách bằng dấu phẩy, dựa trên việc kết hợp nhiều hàng dữ liệu từ ColumnName cột. Nó sẽ tạo ra một giá trị như ,abc,def,ghi,jkl .

STUFF(...,1,1,'')

Sau đó, được sử dụng để xóa dấu phẩy đứng đầu mà thủ thuật trước đó đã tạo, xem STUFF để biết chi tiết về các thông số của nó.

(Thật kỳ lạ, nhiều người có xu hướng gọi phương pháp tạo tập giá trị được phân tách bằng dấu phẩy là "phương pháp STUFF" mặc dù STUFF chỉ chịu trách nhiệm về một chút cắt tỉa cuối cùng)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chọn từ danh sách các giá trị trong SQL Server

  2. Công cụ khôi phục SQL tốt nhất cho năm 2020 để khôi phục cơ sở dữ liệu SQL quan trọng

  3. Không thể kết nối với SQL Server bằng PHP

  4. T-SQL:Chọn cột dựa trên MAX (Cột khác)

  5. Chuyển một varchar chứa đầy các giá trị được phân tách bằng dấu phẩy vào hàm SQL Server IN