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

SQL Server XML 列の xml-safe バージョンを取得する方法

    これはこの質問に対する直接的な回答ではありませんが、TSQL で文字列を xml エスケープしようとする人のために、私が書いた小さな関数を次に示します:

    CREATE FUNCTION escapeXml 
    (@xml nvarchar(4000))
    RETURNS nvarchar(4000)
    AS
    BEGIN
        declare @return nvarchar(4000)
        select @return = 
        REPLACE(
            REPLACE(
                REPLACE(
                    REPLACE(
                        REPLACE(@xml,'&', '&')
                    ,'<', '&lt;')
                ,'>', '&gt;')
            ,'"', '&quot;')
        ,'''', '&#39;')
    
    return @return
    end
    GO
    


    1. mysql_real_escape_stringを使用すべきでない場合

    2. PostgREST/PostgreSQL文字列バッファメッセージを拡大できません

    3. このクエリはSQLインジェクションから安全ですか?

    4. 複数の列を返すplpgsql関数が複数回呼び出されます