Just to add to what Sunitbeck said, if you pass in a numeric/decimal, you'll get that same datatype back out.DECLARE @x FLOAT = 2.0;
SELECT ROUND (CAST(@x AS DECIMAL(19, 2)), 2);
DECLARE @y DECIMAL(19, 2) = 2.0;
SELECT ROUND (@y, 2);
But, then there isn't really a need to round, assuming the datatype has the precision you want:DECLARE @z DECIMAL(19, 2) = 2.12345;
SELECT @z