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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
3-92378
malex_1
2002-10-04 17:30
2002.10.28
ADO-компоненты в DLL


14-92679
alf_
2002-09-28 16:54
2002.10.28
ответы на мои вопросики


1-92412
sas1
2002-10-15 20:21
2002.10.28
подскажите


3-92332
relaxer
2002-10-01 23:04
2002.10.28
Хелп! Не работает след. запрос ...


6-92639
snowman
2002-08-20 16:42
2002.10.28
Замена окна регистрации Windows





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