• I initially thought that this was an issue of the approximate storage of the FLOAT data type such that the 3.65 was actually being stored as 3.649999999... for example but when using an exact numeric the exact same outcome occurs, e.g.

    declare @x DECIMAL(3,2), @y DECIMAL(3,2)

    set @x = 3.65

    set @y = 3.75

    select 'x = ' + str(@x,10,1)

    select 'y = ' + str(@y,10,1)

    Similarly if the datatype of @x is set too DECIMAL(2,1) then @x is stored as 3.6 not 3.7 whilst @y is stored as 3.8 as expected.

    I agree that more information should be provided on this rounding behaviour as this is not an expected behaviour and differs from the behaviour of ROUND(@x,1) which correctly rounds up to 3.7 as expected.