Der Trick, der funktioniert, besteht darin, Ihren Wert mit Latin1_General_BIN ZUSAMMENZUSTELLEN vor der Verwendung von REPLACE und verwenden Sie außerdem nchar(0x00) COLLATE Latin1_General_BIN für 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
,'')
Hier ist das Ergebnis (verwenden Sie Output To Text):
Contains Replaced with - Removed
---------- ----------------- --------
123 567 123-567 123567