Attenzione alla funzione Replace di SQL Server 2005, non fa la sostituzione dei caratteri blank nei tipi char posizionati alla fine della stringa

SQL

--2005
declare @s char(16)

set @s = 'a    '

select  REPLACE(@s, ' ', '*')  -- mi aspettavo una 'a' seguita da 15 asterischi
ritorna

Text

---------------------------------------------------------
a

(1 row(s) affected)
in pratica ignora sia gli spazi finali che quelli di riempimento del tipo char

Su SQL Server 2008 funziona correttamente

Text

---------------------------------------------------------
a***************

(1 row(s) affected)
cambiando il tipo in varchar(16) entrabi ritornano correttamente

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
Tags:
Database75 Errori120 SQL90 SQL Server100 T-SQL66
Potrebbe interessarti anche: