Разница в округлении в SQL и C # - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть значение 7.25.Когда это округляется в C# с Math.Round(7.25, 1), это дает значение 7.2, и то же самое, когда округляется в SQL с Round(7.25, 1), дает значение как 7.3.Я не хочу использовать режим - AwayFromZero в моем коде и хочу сохранить его как 7.2.Есть ли способ достичь этого в SQL?

Ответы [ 3 ]

0 голосов
/ 26 апреля 2018

Вы можете попробовать использовать третий параметр в SQL.

SELECT CONVERT(DECIMAL(7.25, 1, 1) RoundDown
0 голосов
/ 26 апреля 2018

Попробуйте использовать ниже.Также проверьте другие сценарии:

ROUND(7.25, 1, 1)
0 голосов
/ 26 апреля 2018

ROUND в SQL Server имеет третий параметр

  • ноль = ROUND
  • ненулевой = усечение

Итак

SELECT
    Round(7.25, 1),
    Round(7.25, 1, 0),
    Round(7.25, 1, 1);

Дает

7.30    7.30    7.20

Примечание. Математические данные в .net не сравнимы напрямую с тем, что делает SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...