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

SQLの文字列のnull文字を置き換えます

    機能するトリックは、値を Latin1_General_BIN に COLLATE することです REPLACE を使用する前に nchar(0x00) COLLATE Latin1_General_BIN も使用してください string_pattern 用 .

    REPLACE ( string_expression , string_pattern , string_replacement )

     select 
     [Terminated]      =          N'123' + nchar(0) + N'567'                                
    ,[Replaced with -] = REPLACE((N'123' + nchar(0) + N'567') COLLATE Latin1_General_BIN
                                              , nchar(0x00) COLLATE Latin1_General_BIN 
                                                     ,'-')      
    ,[Removed]        = REPLACE((N'123' + nchar(0) + N'567') COLLATE Latin1_General_BIN
                                        , nchar(0x00)      COLLATE Latin1_General_BIN
                                                ,'')    
    

    結果は次のとおりです (Output To Text を使用):

    Contains   Replaced with -   Removed
    ---------- ----------------- --------
    123 567    123-567           123567
    


    1. Laravelがデータベースに接続できません-移行-エラー2002

    2. SQLServerの単一のクエリで5番目に高い給与を見つける方法

    3. Windows Server 2008 での邪魔にならない Oracle の展開

    4. SQLの同じテーブルにある他の2つの値から値を作成するにはどうすればよいですか?