• Авторизация


Увидеть очевидное порой непросто 04-07-2013 22:20 к комментариям - к полной версии - понравилось!


[232x130]

Так уж получается, что проблема, решение которой искал 3 месяца, сейчас кажется абсолютно банальной и очевидной.
Сначала про задачу: один и тот же алгоритм в программах Ms Excel и MS SQL Server порой давал разный результат. Отличие не превышало единицу последнего знака за запятой
(Вспомнил, как подобное, но только в биологии, описывал Ганс Селье в книге "От мечты к открытию")

Оказалось, что для переменной, которая содержала результат вычисления, не хватало разрядности: при конечном результате с округлением до трех знаков за запятой исходных пяти знаков за запятой не хватало.

Исправил обьявление (дефиницию) переменной и на этом проблема была закрыта:

...
-- изменено  2013-07-04 16:45
-- declare @Vu decimal(8,5)  <-- так было
declare @Vu decimal(10,8)  -- так сейчас
...

Найти решение помогли простые рассуждения:

  • Если там, где ищу отличие, все одинаково, значит не там ищу.
  • Если после округления результат различается, значит округляются разные числа
  • В хранимых процедурах сервера переменные явно обьявляются, а в экселе - нет
вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник Увидеть очевидное порой непросто | a1addin - Письма себе | Лента друзей a1addin / Полная версия Добавить в друзья Страницы: раньше»