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

Cách duy trì dấu và (&) trong khi sử dụng FOR XML PATH trên SQL 2005

Có những tình huống mà một người có thể không muốn XML được định dạng tốt - tình huống mà tôi (và có lẽ là người đăng ban đầu) gặp phải là sử dụng kỹ thuật Đường dẫn cho XML để trả về một danh sách trường duy nhất gồm các mục 'con' thông qua truy vấn đệ quy. Thông tin thêm về kỹ thuật này có tại đây (cụ thể là trong phần 'Các phương thức XML hộp đen'): Kết-hợp giá-trị-hàng trong giao-dịch-SQL

Đối với tình huống của tôi, việc nhìn thấy 'H&E' (một vết bệnh lý) được chuyển thành 'XML được định dạng tốt' là một sự thất vọng thực sự. May mắn thay, tôi đã tìm thấy một giải pháp ... trang sau đã giúp tôi giải quyết vấn đề này tương đối dễ dàng và không cần phải kiến ​​trúc lại truy vấn đệ quy của mình hoặc thêm phân tích cú pháp bổ sung ở cấp trình bày (đối với điều này cũng như các tình huống khác / trong tương lai mà con tôi trường dữ liệu -rows chứa các ký tự XML dành riêng): Xử lý các ký tự đặc biệt với FOR XML PATH

CHỈNH SỬA:mã bên dưới từ bài đăng blog được tham khảo.

select
  stuff(
     (select ', <' + name + '>'
     from sys.databases
     where database_id > 4
     order by name
     for xml path(''), root('MyString'), type
     ).value('/MyString[1]','varchar(max)')
   , 1, 2, '') as namelist;


  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ách hoạt động của câu lệnh IF trong SQL Server

  2. cách tạo lược đồ XML từ cơ sở dữ liệu hiện có trong SQL Server 2008

  3. Làm thế nào để kiểm tra xem chuỗi kết nối có hợp lệ không?

  4. Gói SSIS đưa ra lỗi sau khi triển khai SQL Server 2012

  5. SQL Nhận lần xuất hiện cuối cùng của trường đối với mỗi hàng