它是否有任何四舍五入的错误?
That depends on what rounding scheme you want to implement.
The SQL code you posted will accomplish your goal but the default rounding scheme in SQL is not bankers rounding like the default scheme in .NET
Here is a good brief on different rounding method implementations in SQL:
http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/sql-server-rounding-methods
If you wanted to implement a banker s rounding scheme (like the default in .NET) then there are a few options. Here is a good discussion on the topic (it is for Oracle, but should applicable)
http://www.orafaq.com/forum/t/122001/2/