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

Có cách nào để giải mã HTML trong SQL Server không?

Có một giải pháp dễ dàng hơn nhiều ...

SQL Server hỗ trợ kiểu dữ liệu XML và nó hỗ trợ giải mã các thực thể được mã hóa XML / HTML. Nếu bạn chỉ truyền chuỗi sang kiểu dữ liệu XML, bạn có thể sử dụng hàm giải mã tích hợp sẵn.

Nó sẽ trông như thế này:

select cast('Q & A' as XML).value('.[1]','nvarchar(max)' );

Để biến nó thành một hàm để dễ sử dụng:

create function dbo.xmlDecode (@string nvarchar(max))
returns varchar(max)
begin
    return cast(@string as XML).value('.[1]','nvarchar(max)' )
end;

Hãy nhớ rằng trong ví dụ của OP, chuỗi dường như đã được mã hóa 3 lần liên tiếp. & được biến thành & sau đó thành & và sau đó vào & . Do đó, để lấy lại chuỗi "ban đầu", bạn phải sử dụng hàm giải mã 3 lần.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng thủ tục được lưu trữ trong Entity Framework 5 với kiểu phức tạp?

  2. Xóa bản ghi trong DataGridView

  3. Thêm cột giữa hai cột khác trong máy chủ SQL

  4. Sự cố khi mở tệp MDF vì nó báo lỗi SQL 5171? - Bài đăng của khách của Andre Williams

  5. Cách kiểm tra xem có bao nhiêu thủ tục được lưu trữ sẽ ảnh hưởng sau khi xóa một bảng trong SQL