![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос с условием DATE_IN CONTAINING 10.2003 не выполняется [D6, IB6.x]
Виталя © (2004-01-29 13:47:00)
Мне нужно сделать запрос, в котором будет поиск по дате, как по строке. Поиск выполняется если записываем кусок даты без точки - н-р DATE_IN CONTAINING "2003" или DATE_IN CONTAINING "19", а если пишем с точкой н-р DATE_IN CONTAINING "19.10.2003" то результат - пустой, хотя записи есть.
Получается, что точка как-то не так воспринимается, хотя если пишешь DATE_IN = "19.10.2003" все срабатывает.
В чем тут может быть дело ?
stud (2004-01-29 16:36:00) [1]
это формат IB насколько я понимаю и преобразовывает в строку он его тоже по своему. тебе нужно из "нормальной" даты после ввода пользователем перевести ее в ненормальный)))
Виталя (2004-01-29 15:13:00) [2]
М-да с "-" и в обр. порядке у меня тоже работает, хотя ничего хорошего в этом нет - не заставлять-же пользователя в таком формате вводить...
Вообще не понимаю если я привожу Date к varchar(10) - что ему до того формата ?
(ну типа cast(Date_in as varchar(10) containing "12.2003"));
stud (2004-01-29 15:01:00) [3]
у меня формат даты в виде строки в интербесе 2004-02-02, поэтому если задать datepr_ containing "2004-" все работает.
Виталя (2004-01-29 14:09:00) [4]
мне бы не хотелось этого делать - у меня поиск в приложении по дясятку полей разных типов, система поиска по ним имеет одинаковую структуру и добавить пару новых полей можно буквально 2-мя строками, а если специально обрабатывать поля типа даты - это добавит не нужную сложность.
stud (2004-01-29 13:57:00) [5]
а если использовать extract?
например (extract (day from)date_in )=19
также по месяцу или году (month,year)