У меня есть следующий запрос.
ALTER FUNCTION [dbo].[Test] (@i DECIMAL(10, 2))
RETURNS DECIMAL(10, 2)
AS
BEGIN
DECLARE @j DECIMAL(10, 2)
SET @j = @i - floor(@i)
RETURN CASE
WHEN @j < 0.25
THEN floor(@i)
WHEN @j < 0.75
THEN floor(@i) + 0.5
ELSE ceiling(@i)
END
END
return case when @j<0.25 then floor(@i) when @j<0.75 then floor(@i)+0.5 else ceiling(@i) end
END
Это для раунда с 0,5, но как я могу изменить это, чтобы всегда округлять с 0,05, если это уже не в раунде 0,05?