Главная страница
    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.58 MB
Время: 0.041 c
1-92567
blackweber
2002-10-16 19:16
2002.10.28
1с совсем разжижает мозги, блин


4-92807
Dark Hunter
2002-09-16 13:20
2002.10.28
Найти все доступные в сети компьютеры...


7-92748
Dmitry V. Averuanov
2002-08-21 17:51
2002.10.28
Принудительно завершить процесс, запущенный моим CreateProcess


4-92796
REL_
2002-09-16 11:41
2002.10.28
LoadBitmap


14-92737
Tornado
2002-10-09 12:49
2002.10.28
Уважаемые Мастера, очень нужна ваша помощь !!!





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