機能するトリックは、値を 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