Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy istnieje sposób na dekodowanie HTML w SQL Server?

Jest o wiele prostsze rozwiązanie...

SQL Server obsługuje typ danych XML i obsługuje dekodowanie jednostek zakodowanych w formacie XML/HTML. Jeśli po prostu rzucisz ciąg na typ danych XML, możesz użyć wbudowanej funkcji dekodowania.

To wyglądałoby tak:

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

Aby przekształcić go w funkcję łatwą w użyciu:

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

Należy pamiętać, że w przykładzie OP ciąg wydaje się być zakodowany 3 razy z rzędu. & został przekształcony w & następnie do & a następnie do & . W rezultacie, aby odzyskać „oryginalny” ciąg znaków, musisz trzykrotnie użyć funkcji dekodowania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Różnica czasu między datami zakończenia pierwszych rekordów a datami następnego rekordu

  2. Parsowanie XML z wielopoziomowym zagnieżdżaniem w SQL

  3. Zabezpieczenia na poziomie wiersza w SQL Server 2012

  4. Zapytanie SQL w wielu kolumnach przy użyciu funkcji odrębnej tylko w jednej kolumnie

  5. Jak zrobić zapytanie z group_concat na serwerze sql