Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Apakah ada cara untuk melakukan dekode HTML di SQL Server?

Ada solusi yang jauh lebih mudah...

SQL Server mendukung tipe data XML, dan mendukung decoding entitas yang disandikan XML/HTML. Jika Anda hanya melemparkan string ke tipe data XML, Anda dapat menggunakan fungsi decode bawaan.

Itu akan terlihat seperti ini:

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

Untuk mengubahnya menjadi fungsi agar mudah digunakan:

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

Perlu diingat bahwa dalam contoh OP, string tampaknya telah dikodekan 3 kali berturut-turut. & berubah menjadi & lalu ke & lalu ke & . Akibatnya, untuk mendapatkan kembali string "asli", Anda harus menggunakan fungsi decode 3 kali.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ExecuteScalar melempar NullReferenceException

  2. SQL Server Compact Edition ISNULL(sth, ' ') mengembalikan nilai boolean?

  3. Bagaimana cara menggabungkan variabel tabel?

  4. Cegah eksekusi pemicu yang saling rekursif?

  5. Fungsi Tab Silang SQL