Вот один подход:
SELECT ROUND(2705.1520270 + 0.0000005, 6);
2705.1520280
Демонстрация
Мы можем добавить 0.0000005
к входу, а затем просто использовать функцию ROUND
SQL Server до 6 десятичных знаков.Это работает, потому что значения с шестым десятичным знаком от 0 до 0,4999 (повторяющиеся) станут от 5 до 0,9999 (повторяющиеся), что означает, что они будут округлять до до следующей цифры.И значения, у которых уже есть 5 или больше в шестом десятичном знаке, не будут увеличены до следующей цифры.
Эта проблема должна быть знакома многим разработчикам как проблема округления до половины.