Hugo Kornelis (5/4/2010)
Here is another repro that runs fine on all clients, to demonstrate that SQL Server itself actually does not have any issues with this code:
-- Or, the more direct approach
SELECT CAST(ROUND(0.5,0) AS decimal(12,2));
According to Jim Hogg (MSFT) on Connect, the error is raised by SQL Server, and is By Design:
Paul White
SQLPerformance.com
SQLkiwi blog
@SQL_Kiwi