Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Вниз

Проблема запроса с таблицы Paradox с помощью BDE LocalSQL   Найти похожие ветки 

 
Vovan69   (2006-11-02 19:09) [0]

Есть таблица Paradox с полями D2, D1 типа TDate.

Следующий запрос работает неправильно:
SELECT * FROM Tablica
WHERE (D2-D1+1) = 5

т.е. выдаются записи, для которых D2-D1+1 = 7,6,8,...

Как добиться правильного вычитания между датами в запросе?


 
Anatoly Podgoretsky ©   (2006-11-02 19:22) [1]

> Vovan69  (02.11.2006 19:09:00)  [0]

В Парадоксе нет полей типа TDate


 
Vovan69   (2006-11-02 19:27) [2]

Anatoly Podgoretsky ©   (02.11.06 19:22) [1]

Хорошо - Date.
Как добиться правильной работы запроса?


 
Desdechado ©   (2006-11-02 20:19) [3]

> WHERE (D2-D1+1) = 5
> т.е. выдаются записи, для которых D2-D1+1 = 7,6,8,...
я че-то не понял, идет проверка на равенство пяти, а выдаются больше пяти?
код давай


 
Vovan69   (2006-11-03 10:11) [4]

Desdechado ©   (02.11.06 20:19) [3]

Вот весь код:

SELECT * FROM Tablica
WHERE (D2-D1+1) = 5

выдаются записи, для которых D2-D1+1 = 5 и D2-D1+1 <>5

P.S.: Выход конечно есть:) Например, добавить в таблицу поле Days (Integer), заполнить его значением D2-D1+1 и делать запросы по полю Days на здоровье. Но если нельзя добавлять поля в таблицу, что тогда делать с простыми арифметическими операциями над полями типа даты в тексте запроса??


 
Anatoly Podgoretsky ©   (2006-11-03 10:19) [5]

> Vovan69  (03.11.2006 10:11:04)  [4]

Сменить СУБД на ту, в которой правильно работает оператор сравнения


 
Vovan69   (2006-11-03 10:24) [6]

Anatoly Podgoretsky ©   (03.11.06 10:19) [5]

:))
Других идей нет?


 
ЮЮ ©   (2006-11-03 10:26) [7]

Anatoly Podgoretsky ©   (03.11.06 10:19) [5]

Типа, для парадокса (D2-D1+1) = 5 истинно для любых значений D2 и D1
Все, конечно, знают о твоей нелюбви к Парадоксу, но не до такой же степени :)


 
Anatoly Podgoretsky ©   (2006-11-03 10:31) [8]

> ЮЮ  (03.11.2006 10:26:07)  [7]

Истинно для любых значений не равных 5
Может и не люблю, но автор одназначно вешает нам не шею мучные изделия.


 
ЮЮ ©   (2006-11-03 10:33) [9]

Выполни запрос в SQL Explorer.
Ибо в программе ты можешь наблюдать результаты далеко не того запроса :)


 
ЮЮ ©   (2006-11-03 10:37) [10]

SELECT
 b.Data - o.Data Days, o.*, b.*
FROM
 Bills b
 JOIN Orders o ON b.OrderId = o.Id
WHERE
 b.Data - o.Data = 5

в SQL Explorer вернул только с Days = 5


 
ASoft   (2006-11-03 10:38) [11]

WHERE (trunc(D2)-(trunc(D1)+1) = 5


 
Anatoly Podgoretsky ©   (2006-11-03 10:40) [12]

> ЮЮ  (03.11.2006 10:37:10)  [10]

> b.Data - o.Data = 5
> в SQL Explorer вернул только с Days = 5

Это насколько надо отвратительно написать интерпритатор, что фундаментальное
правило математики работало по еврейским правилам. Не верю я в это.


 
Anatoly Podgoretsky ©   (2006-11-03 10:42) [13]

> ASoft  (03.11.2006 10:38:11)  [11]

Да какая разница trunc или нет, он же утверждает, что запрос возвращает
записи не равные точно пяти. Или дурдом или тайная бухгалтерия.


 
ЮЮ ©   (2006-11-03 10:46) [14]

это только у евреев 39005.0 - 39000.0 = 5 ?


 
ASoft   (2006-11-03 10:58) [15]

WHERE (D2-D1)+1 = 5


 
Anatoly Podgoretsky ©   (2006-11-03 13:26) [16]

> ЮЮ  (03.11.2006 10:46:14)  [14]

Конечно, они не причем, только как авторы данной бухгалтерии.


 
Desdechado ©   (2006-11-03 13:35) [17]

WHERE D2-D1 = 4
зачем сбивать с толку преобразование типов добавлением левых чисел, если можно без них обойтись?


 
Anatoly Podgoretsky ©   (2006-11-03 13:40) [18]

Теперь с 4 не работает.


 
ASoft   (2006-11-03 16:01) [19]

млин, специально проверил, все работает...и 4 и 5, запрос выбрал то что надо. Чудеса...
мож я в сабж не врубился?


 
Asail   (2006-11-03 23:59) [20]


> ASoft   (03.11.06 16:01) [19]

Ага, я тоже проверил - работает. Что-то афтор не договаривает ...



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

Форум: "Начинающим";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.082 c
15-1162387648
homm
2006-11-01 16:27
2006.11.19
Тупой ексель


2-1162465442
dima_shapkin
2006-11-02 14:04
2006.11.19
Tform


15-1162051649
lookin
2006-10-28 20:07
2006.11.19
Запутался с фразами вида "сложить с", "умножить на"...


15-1162362340
Виджет
2006-11-01 09:25
2006.11.19
Апгрейд


2-1162622226
Shopot
2006-11-04 09:37
2006.11.19
Печать.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский