Comportamento strano della funzione Replace su SQL Server 2005
Attenzione alla funzione Replace di SQL Server 2005, non fa la sostituzione dei caratteri blank nei tipi char posizionati alla fine della stringa
ritorna
in pratica ignora sia gli spazi finali che quelli di riempimento del tipo char
Su SQL Server 2008 funziona correttamente
cambiando il tipo in varchar(16) entrabi ritornano correttamente
SQL
--2005
declare @s char(16)
set @s = 'a '
select REPLACE(@s, ' ', '*') -- mi aspettavo una 'a' seguita da 15 asterischi
Text
---------------------------------------------------------
a
(1 row(s) affected)
Su SQL Server 2008 funziona correttamente
Text
---------------------------------------------------------
a***************
(1 row(s) affected)
Text
---------------------------------------------------------
a****
(1 row(s) affected)
Testata su un SQL Server 2005 v. 9.0.4053 e su un SQL Server 2008 v. 10.50.1600