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

Biểu thức đường dẫn XML để bao gồm các ký tự đặc biệt

Tôi đã kiểm tra điều này với các ký tự ASCII 0-255 và phát hiện ra rằng bạn gặp lỗi này cho các ký tự:0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000B, 0x000C, 0x000E, 0x000F, 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F .

Một giải pháp là loại bỏ , TYPE từ câu lệnh XML của bạn.

Một cách khác là xóa các ký tự đó trong câu lệnh select:

REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
REPLACE( REPLACE( REPLACE( REPLACE( 
    < YOUR EXPRESSION TO BE CLEANED >
,char(0x0000),'') ,char(0x0001),'') ,char(0x0002),'') ,char(0x0003),'') ,char(0x0004),'') 
,char(0x0005),'') ,char(0x0006),'') ,char(0x0007),'') ,char(0x0008),'') ,char(0x000B),'') 
,char(0x000C),'') ,char(0x000E),'') ,char(0x000F),'') ,char(0x0010),'') ,char(0x0011),'') 
,char(0x0012),'') ,char(0x0013),'') ,char(0x0014),'') ,char(0x0015),'') ,char(0x0016),'') 
,char(0x0017),'') ,char(0x0018),'') ,char(0x0019),'') ,char(0x001A),'') ,char(0x001B),'') 
,char(0x001C),'') ,char(0x001D),'') ,char(0x001E),'') ,char(0x001F),'')

Bạn cũng có thể tạo một hàm với các câu lệnh thay thế này.



  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 để chuyển đổi một giờ DATEPART đó là giờ quân sự cho nửa đêm (00) thành một giá trị mà tôi có thể sử dụng khi cần tính toán?

  2. Thay thế lần xuất hiện đầu tiên của chuỗi con trong một chuỗi trong SQL

  3. Sao chép các gói SSIS được triển khai trên SQL Server trở lại Visual Studio 2008

  4. tại sao việc chèn hàng trên 8053 byte không xuất hiện lỗi khi cần vì giới hạn hàng cho phép tối đa là 8060

  5. mất giá trị null lọc kết quả truy vấn sql bằng cách sử dụng