If I try this:
SELECT(ROUND(CAST(10.4 AS numeric(12,2)), 2)
I get:
10.40
If you use the numeric
or the decimal
types, you will get up to as many zeros as you have set in the precision part of the data type.
In your example, you have specified 2 digits of precision, so you will always have up to 2 trailing zeros. Perhaps you need a different datatype, such as float
.