• rlswisher (3/22/2011)


    Declare @value1 numeric(38,10)

    Declare @value2 numeric(1,1)

    SET @value1 = 1234567890.123456789

    SET @value2 = 0.1

    SELECT @value1

    SELECT @value2

    SELECT @value1 * @value2

    = "123456789.012345679"

    As expected.

    Result precision is 38+1+1 = 40, scale is 10+1 = 11. Max allowed precision is 38, so precision and scale are reduced by 2, giving a final result precision and scale of 38,9 - which is why the result is rounded as you can see.