| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Date в Sql-запросе для Query |
| Автор: redlorik 26.3.2008, 23:33 |
| Господа! Просветите, пожалуйста! Исходные: есть таблица, в которой есть поле-string, тудысь заношу дату в формате dd.mm.gg. Задача: выбрать данные за период date1-date2. Написала условие: WHERE stat.num = inform.num AND cast(stat.Day as date) between Form3.Edit1.Text and Form3.Edit2.Text. Ругается на Day. |
| Автор: Данкинг 26.3.2008, 23:37 | ||
А как дату с текстом сравнивать можно? |
| Автор: redlorik 26.3.2008, 23:51 | ||
это мое последнее извращение... Я конечно не дату с текстом сравниваю... Я все привожу к формату даты и сравниваю, но я не могу понять почему она на поле таблицы ругается... Я его объявляю как дату а она при работе выдает ошибку на это поле.. |
| Автор: Данкинг 27.3.2008, 00:05 |
| Form3.Edit1.Text and Form3.Edit2.Text к дате приводишь?? |
| Автор: redlorik 27.3.2008, 00:09 |
| да. |
| Автор: Данкинг 27.3.2008, 00:18 |
| Попробуй cdate(stat.day). |
| Автор: redlorik 27.3.2008, 00:25 |
| Invalid use of keyword.Token: day) |
| Автор: Данкинг 27.3.2008, 00:32 |
| А так вообще работает? У меня работает: select all cdate(day) from table И это работает: select all day from table where cdate(day)>cdate('15.10.2008') |
| Автор: redlorik 27.3.2008, 00:37 |
| Если я правильно переписал для себя select all cdate(stat.day1) from stat.db as stat у меня выдала capability not supported |
| Автор: Данкинг 27.3.2008, 00:41 |
| А Access какой? У меня-то 2000 - единственный нормальный в отличие от того глючного и неудобного в работе г-на, которое было после. Ещё: select all cdate(stat.day1) from stat.db as stat после from должно имя таблицы идти, а у тебя что? И убери пока что "as stat", сиё только мешает. |
| Автор: redlorik 27.3.2008, 01:10 |
| у меня не Access... у меня Delphi... |
| Автор: Данкинг 27.3.2008, 01:22 | ||
А СУБД-то какая? Я почему-то подумал, что Access. Бывает. |
| Автор: Beltar 27.3.2008, 08:47 |
| Изврат. Если есть формат Date его надо юзать. Я обычно запрос в текстовом виде сначала проверяю в самой БД, а потом уже набираю в Delphi с поправками типа вместо дат параметры и т. п. мелочь. С датами формат может отличаться, я сам недавно с такой фигней столкнулся, пришлось вставлять в запрос времена в виде текста в формате yyyy.mm.dd |
| Автор: redlorik 27.3.2008, 21:37 |
| Спасибо за советы! Проблему решила в лоб. Запустила SQL Builder и записала запрос. Оказалось дело в кавычках!!! В книжках пишут про одинарные (то биш дату для сравнения нужно заключать в кавычки одинарные) а на деле оказалось двойные ест. Вот такая фи... |
| Автор: Данкинг 27.3.2008, 22:06 |
| А СУБД-то какая всё же? |
| Автор: redlorik 30.3.2008, 22:39 |
| Таблица формата Paradox. В Delphi используется InterBase 6.5, но есть компоненты , которые позволяют работать и с другими базами. Я пользую пока только локальные paradox. |