Главная страница
    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
Время: 1.076 c
15-1162188972
Cyrax
2006-10-30 09:16
2006.11.19
Lingvo-перевод на осевом уровне


2-1162219520
term1t
2006-10-30 17:45
2006.11.19
operator/operand type mismach


2-1162731703
TTempFile
2006-11-05 16:01
2006.11.19
DWord &amp; Word


15-1160908904
ANTPro
2006-10-15 14:41
2006.11.19
ReactOS


2-1162267319
D@Nger
2006-10-31 07:01
2006.11.19
RxDBLookupcomboBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский