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

Вниз

Хелп! Не работает след. запрос ...   Найти похожие ветки 

 
relaxer ©   (2002-10-01 23:04) [0]

select * from MYDATA where MYDATE BETWEEN (CAST ("21.09.2002" AS TIMESTAMP)) AND (CAST ("10.10.2002" AS TIMESTAMP))
возвращает 0 рекордов,
а вот select * from MYDATA where MYDATE BETWEEN (CAST ("21.09.2002" AS TIMESTAMP)) AND (CAST ("22.10.2002" AS
TIMESTAMP))
работает правильно ...
Понятно, что он почему то смотрит на "21" и "10" и ессно 2-ое меньше первого, но вот почему не работает CAST ?


 
Desdechado ©   (2002-10-02 08:37) [1]

попробуй через параметры


 
Johnmen ©   (2002-10-02 09:40) [2]

Так где же ошибка ??? На основании чего утверждается о неработе CAST ???
И вообще, зачем же CAST ??? Просто
BETWEEN "21.09.2002" AND "10.10.2002"


 
DarkGreen ©   (2002-10-02 11:07) [3]

А формат даты у IB по умолчанию какой? dd/mm/yyyy или mm/dd/yyyy?


 
relaxer ©   (2002-10-02 15:02) [4]

2Desdechado : это так и делается, я просто в лоб подставил для примера
2Johnmen : Не работа в том, что нет возврата результирующего набора данных. Ибо дааные точно есть, а вот селект их не выбирает... Поля строковые - следовательно идет побайтовое сравнение строк а "1" в цифире "10", МЕНЬШЕ чем "2" в цифире "21"
посему, ИМХО, происходит, запрос как бы "наоборот" т.е. интервал
10.10.02 - 21.09.02, в котором ессно никаких данных нет =(
2DarkGreen : я думаю в случае ошибки в дате, была бы DYNAMIC SQL ERROR при преобразовании "21" в номер месяца. Или ОН это не обрабатывает ....


 
Johnmen ©   (2002-10-02 15:07) [5]

Не понял ... Ты хранишь дату в символьном поле ???


 
relaxer ©   (2002-10-03 00:53) [6]

2Johnmen : ну да, в этом случае - это данность ...


 
ЮЮ ©   (2002-10-03 02:42) [7]

Тогда CAST(MYDATA AS ...)


 
relaxer ©   (2002-10-04 22:41) [8]

2ЮЮ : прочитай ВНИМАТЕЛЬНО начало ветки ...


 
ЮЮ ©   (2002-10-05 11:20) [9]

>relaxer
>прочитай ВНИМАТЕЛЬНО начало ветки
Я то читать умею, а вот ты не очень. Тогда ражёвываю:
У тебя данные в таблице хранятся в символьном виде, т.е в виде "22.09.2002". Вот их и преобразовывай нормальному формату,
т.е. CAST(MYDATA AS ...) и сравнивай их с нормальными параметрами. А преобразовывать параметры к своему корявому формату смыла нет.


 
BlackTiger   (2002-10-05 12:30) [10]

relaxer - ты извращенец! :-)

Либо тебе надо ВСЕ даты преобразовывать к ТИПУ даты, либо дату хранить в формате "от редкого к частому", т.е. "YYYY.MM.DD". Тогда выборка будет происходить корректно.

Интересно, а что мешало хранить дату в формате даты?!


 
User0 ©   (2002-10-05 14:01) [11]

To BlackTiger:

Вероятно как и когда-то у меня - неграмотность, начал с нуля, потом приобрел опыт, а теперь латает дыры :)


 
relaxer ©   (2002-10-06 17:29) [12]

2User0 : типа того ... =) Называется "DEADLINE пришел раньше чем была написана прога" =)
2BlackTiger : супер-решение =) честно =) Типа моего (которое пока и работает)формирование (MYDATE="...." OR MYDATE="...." OR ....) =)))) Веселуха, правда.
2ЮЮ : сорри, мой косяк. В ентой таблице еще 32 поля в extended... Посему преобразую именно ПАРАМЕТРЫ... Да и ваще, ЭТО ДОЛЖНО РАБОТАТЬ, ибо так сказал Зара... тьфу, Борланд =)




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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
6-92629
MVova
2002-08-27 15:46
2002.10.28
Где узнать какин порты какими програмами используються?


1-92445
MaximatorVeter
2002-10-15 21:53
2002.10.28
Low(Double)


3-92334
Natalie
2002-10-05 22:46
2002.10.28
не могу создать таблицу!!


1-92606
AL2002
2002-10-17 11:54
2002.10.28
Ini создаётся где попало.


1-92596
Gari
2002-10-16 08:33
2002.10.28
Инспектор объектов