![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно написать дату в запросе? [D5, dBase, FoxPro]
coba © (2003-02-07 15:58:00)Уважаемые мастреа, как правильно в SQL запросе написать дату??
просто
Select *
From Table
WHERE date="01.01.2003" не проходит, говорит тип не соответствует... как строку перевести в DateTime?
Динамически в запрос подставлять ничего не нужно...
coba (2003-02-07 16:15:00) [41]iZEN ©
Вот я и спрашиваю чем преобразовать строку в дату...
В MSSQL это Cast, в dbase я не знаю... нет под руками справки...
coba (2003-02-07 16:12:00) [42]Danilka © (07.02.03 16:03)
не работает
Max Zyuzin © (07.02.03 16:04)
пример который я написал - просто пример...
Динамически ничего формировать не нужно, т.е. один раз в статический запрос нужно написать дату и все... можно конечно посмотреть как выглядит дата в числовом виде, т.е например 01.12.2002 это 37561 в формате DateTime, но мне интересно как правильно написать дату в запросе...
iZEN (2003-02-07 16:09:00) [43]Проблемы с локализацией возможны.
Можно применять универсальный формат: "dd-mmm-yyyy"
(01-JAN-2003).
Лучше всё досконально протестировать в разных локалях, например на строке: "29-FEB-2003" и "29.02.2003" и т.д., а то приложение сможет работать только в России...
Max Zyuzin (2003-02-07 16:04:00) [44]Работать с датой как с датой, через параметр
Select *
From Table
WHERE Table."date"= :mydate
И дальше Query.ParamByName("mydate").AsDate := now;
ЗЫ Советую не называть поля и таблицы зарезервироваными словами (date)
Danilka (2003-02-07 16:03:00) [45]попробуй вот так:
WHERE date="01.01.2003"