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

chia chuỗi được phân tách bằng dấu phẩy thành các cột

Hãy thử điều này:

declare @s varchar(50) = '1,A;2,B;3,C'
--convert string to xml table (I used HTML tags for clarity)
declare @xml xml = cast('<tr><td>' + replace(replace(@s, ';', '</td></tr><tr><td>'), ',', '</td><td>') + '</td></tr>' as xml)
--query the xml to get SQL table
select tbl.col.value('td[1]', 'int') [ID],
       tbl.col.value('td[2]', 'varchar(10)') [Text]
from @xml.nodes('/tr') tbl(col)

Để biết thêm thông tin: Chuyển đổi Xml thành Table SQL Server



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các tham số đầu ra của thủ tục được lưu trữ trong SQL Server Profiler

  2. Sự cố về ngày giờ của máy chủ SQL. Mỹ so với Anh?

  3. Truy vấn T-SQL với phạm vi ngày

  4. Thủ tục lưu trữ SQL ngăn chặn ghi null

  5. Làm cách nào để tìm tất cả các thủ tục được lưu trữ để chèn, cập nhật hoặc xóa bản ghi?