sql >> データベース >  >> RDS >> Sqlserver

SQL Server で HTML デコードを行う方法はありますか?

    もっと簡単な解決策があります...

    SQL Server は XML データ型をサポートし、XML/HTML でエンコードされたエンティティのデコードをサポートしています。文字列を XML データ型にキャストするだけであれば、組み込みのデコード関数を使用できます。

    これは次のようになります:

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

    使いやすい関数にするには:

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

    OP の例では、文字列が 3 回連続してエンコードされているように見えることに注意してください。 & & になりました 次に & に そして & に入ります .その結果、「元の」文字列を取得するには、デコード関数を 3 回使用する必要があります。



    1. MySQL列で未使用の最小値を取得します

    2. Microsoft.SqlServer.Management.Smo 名前空間の復元クラスを使用して復元する方法

    3. Oracleの切り捨て

    4. MySQLで1つのエイリアスを別のエイリアスで分割できますか?