De truc die werkt, is om uw waarde te VERZAMELEN naar Latin1_General_BIN voordat u REPLACE gebruikt en ook nchar(0x00) COLLATE Latin1_General_BIN gebruikt voor string_pattern .
VERVANG ( 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 is het resultaat (gebruik Uitvoer naar tekst):
Contains Replaced with - Removed
---------- ----------------- --------
123 567 123-567 123567