Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по SQL запросу [D6]


Koala ©   (2004-09-14 16:51:00) 

есть запрос (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 в чем прикол?????


Val   (2004-09-16 11:23:00) [1]

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


Sergey13   (2004-09-16 11:22:00) [2]

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


Val   (2004-09-16 11:22:00) [3]

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


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

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


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

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


Val   (2004-09-16 10:28:00) [6]

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


ЮЮ   (2004-09-16 03:16:00) [7]

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

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


Koala   (2004-09-14 18:19:00) [8]


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

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


pasha_golub   (2004-09-14 17:51:00) [9]

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


stud   (2004-09-14 17:42:00) [10]

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


Sergey13   (2004-09-14 17:39:00) [11]

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


Koala   (2004-09-14 17:30:00) [12]


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

string


stud   (2004-09-14 17:29:00) [13]

а тип kolvo_oil?


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо