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

SQLServer-印刷できないASCII文字をすべて削除します

    別のオプション。

    この関数は、制御文字を置き換え、残りの繰り返しスペースを修正します。たとえば、Jane Smith{13}was here Jane Smithwas hereとして返されることはありません 、むしろJane Smith was here

    CREATE FUNCTION [dbo].[udf-Str-Strip-Control](@S varchar(max))
    Returns varchar(max)
    Begin
        ;with  cte1(N) As (Select 1 From (Values(1),(1),(1),(1),(1),(1),(1),(1),(1),(1)) N(N)),
               cte2(C) As (Select Top (32) Char(Row_Number() over (Order By (Select NULL))-1) From cte1 a,cte1 b)
        Select @S = Replace(@S,C,' ')
         From  cte2
    
        Return ltrim(rtrim(replace(replace(replace(@S,' ','†‡'),'‡†',''),'†‡',' ')))
    End
    --Select [dbo].[udf-Str-Strip-Control]('Michael        '+char(13)+char(10)+'LastName')  --Returns: Michael LastName
    


    1. SQL ServerでのATAN()の例

    2. JPAフラッシュとコミット

    3. 一般的なデータベースインフラストラクチャパターンの比較

    4. SQLでJSONオブジェクトの配列として返す(Postgres)