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

Cách nối tất cả các cột trong một vùng chọn với SQL Server

Bất kỳ số lượng cột nào cho một tên bảng nhất định ; Nếu bạn cần tên cột được bọc bằng <text>

DECLARE @s VARCHAR(500)

SELECT @s =  ISNULL(@s+', ','') + c.name   
FROM  sys.all_columns c join sys.tables  t 
            ON  c.object_id = t.object_id
WHERE t.name = 'YourTableName'

SELECT '<text>' + @s + '</text>'

SQL Fiddle Ví dụ ở đây

-- RESULTS 
<text>col1, col2, col3,...</text>

Nếu bạn cần, hãy chọn truy vấn tập hợp kết quả được bao bọc với <text> sau đó;

SELECT @S =  ISNULL( @S+ ')' +'+'',''+ ','') + 'convert(varchar(50), ' + c.name    FROM 
       sys.all_columns c join sys.tables  t 
       ON  c.object_id = t.object_id
WHERE t.name = 'YourTableName'


EXEC( 'SELECT ''<text>''+' + @s + ')+' + '''</text>'' FROM YourTableName')

SQL Fiddle Ví dụ ở đây

--RESULTS
<text>c1r1,c2r1,c3r1,...</text>
<text>c1r2,c2r2,c3r2,...</text>
<text>c1r3,c2r3,c3r3,...</text>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:Cách chọn tất cả các ngày trong một phạm vi ngày ngay cả khi không có dữ liệu nào tồn tại trong một số ngày

  2. 'PDOException' với thông báo 'SQLSTATE [22001]:Chuỗi dữ liệu, bị cắt ngắn bên phải:0

  3. Cách FOR XML PATH ('') hoạt động khi nối các hàng

  4. Cách tạo tệp đầu ra csv từ quy trình được lưu trữ trong SQL Server

  5. Cách tự động hóa việc thu thập dữ liệu về sự phát triển của cơ sở dữ liệu SQL Server