Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Вопрос по SQL запросу   Найти похожие ветки 

 
Koala ©   (2004-09-14 16:51) [0]

есть запрос (Local SQL, база Dbase) когда делаю запрос
SELECT SUM(CAST(KOLVO_OIL AS NUMERIC))
FROM "GurnPL_ALL.DBF" Gurnpl_all
WHERE   (KOLVO_OIL <> "0")
  AND  (KOLVO_OIL <> "")


результат 1 917 174

Почему когда прогоняю по строчно и суммирую все строки
результат 1 793 640,9

разница 123 533,1

количество строк в файле 49 442 в чем прикол?????


 
Sergey13 ©   (2004-09-14 16:56) [1]

AND  (KOLVO_OIL is not null)
не поможет? Хотя вряд ли.


 
stud ©   (2004-09-14 17:29) [2]

а тип kolvo_oil?


 
Koala ©   (2004-09-14 17:30) [3]


>  [2] stud ©   (14.09.04 17:29)
> а тип kolvo_oil?

string


 
Sergey13 ©   (2004-09-14 17:39) [4]

2[3] Koala ©   (14.09.04 17:30)
Воможно там есть много "_0" или "0_" (_ это пробел) или вроде того, что при "прогоняю по строчно " отсекаются всякими Trim-ами.
А зачем такой тип выбран?


 
stud ©   (2004-09-14 17:42) [5]

или что-то типа
12,3  или 13.3 что возможно некорректно преобразуется к нужному типу


 
pasha_golub ©   (2004-09-14 17:51) [6]

Тип нужно менять. Это рассадник для дальнейших багов.


 
Koala ©   (2004-09-14 18:19) [7]


> [6] pasha_golub ©   (14.09.04 17:51)
> Тип нужно менять. Это рассадник для дальнейших багов.

Это я и сам знаю... но исходников нет.... а прога писалась 3 года назад... так.что выбора особо нет как только заново переписать... но выход сейчас искать надо....


 
ЮЮ ©   (2004-09-16 03:16) [8]

"прогони построчно суммируя все строки" такой запрос:

SELECT KOLVO_OIL, CAST(KOLVO_OIL AS NUMERIC)
по обоим столбцам и "почувствуй" разницу


 
Val ©   (2004-09-16 10:28) [9]

>[4] Sergey13 ©   (14.09.04 17:39)
>[5] stud ©   (14.09.04 17:42)
Думаю, тогда он получил бы эксепшн при попытке выполнения запроса, а не результат.
Автору: алгоритм "построчного суммирования" не показан. Вы ставите там те же условия, к примеру?


 
Sergey13 ©   (2004-09-16 10:36) [10]

2[9] Val ©   (16.09.04 10:28)
>Думаю, тогда он получил бы эксепшн при попытке выполнения запроса, а не результат.
Почему?  "_0" и "0_" вполне корректные по типу значения.


 
Val ©   (2004-09-16 11:20) [11]

>[10] Sergey13 ©   (16.09.04 10:36)
Проверил. Действительно, эксепшн нет, есть null - это в дбейс такое чудо выдумали? Что означает этот ноль с подчеркиванием?


 
Sergey13 ©   (2004-09-16 11:22) [12]

Подчеркивание=пробел которого невидно 8-)


 
Val ©   (2004-09-16 11:22) [13]

Вдогонку: Исключения вообще не возникает, даже при нечисловых символах в поле. Мда. Что еще сказать :(


 
Val ©   (2004-09-16 11:23) [14]

>[12] Sergey13 ©   (16.09.04 11:22)
блин :)



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
8-1089868358
Ale}{(is)
2004-07-15 09:12
2004.10.10
Median-cut и Octree


4-1094373920
CAMCOH
2004-09-05 12:45
2004.10.10
Как програмно выключить монитор в XP и 2000


1-1096112153
debuger
2004-09-25 15:35
2004.10.10
закрытся на TForm.Close


14-1095420158
Nikolay M.
2004-09-17 15:22
2004.10.10
Никому инспектор в отдел кадров в Москве не требуется?


3-1094728910
Heretic
2004-09-09 15:21
2004.10.10
По поводу процедуры "BeforePost" в Ttable