What is the output for the following query?
DECLARE @V CHAR(6)
SET @V = 'ABC'
SELECT REPLACE(@V,' ','L')
Guess what you have two answers. In SQL Server 2005, it will be ABC while in SQL Server 2008 it is ABCLLL.
What does this mean? They have fixed the bug in REPLACE function in SQL Server 2008. In SQL Server 2005, for char data type, before replacing it trims the variable which is incorrect. In SQL Server 2008 now it is not trimming your data before the replacing function.
If you are in the process of upgrading to SQL Server 2008 this is an point to consider.