PVR писал(а) 04. Июня 2008 :: 07:30:Unnamed, у тебя пользователи вводят дату 13.01.2008?
Как они отнесутся к 20080113?
Вариант 2 для VFP (но как сделать аналогично для 1С и SQL!?):
2008 поиск по году,
______13 по 13 числам,
____01 по 1 месяцу,
1 3 просто по дате, где встречается 1 и 3,
2008__15 по всем месяцам 15 числа 2008 года,
200801 все числа 1 месяца 2008 года.
отнесутся отрицательно
имхо надо сделать так: 13.01.2008 - обычный поиск
*.1.* - по первому месяцу
1 3 - не нужен (не представляю себе, для чего 8-O)
15.*.2008 - по всем месяцам 15го числа 2008г
*.1.2008 - все числа 1го месяца 2008г
а 1 и 3 - это частный случай множественного поиска. который как-то еще прийдется додумывать имхо. типа флажки "зафиксировать поиск в таблице" - при этом следующие результаты поиска будут просто добавляться к текущим, "выбрать из текущей выборки" - при этом поиск будет идти только по списку уже найденных элементов. реализовать кстати проще такую логику, чем с AND OR разборкой путаться. Хотя <, > конечно прийдется реализовывать. И 'Не'.
А насчет поиска по дате через tsql - да хоть конвертировать дату в стринг и сверять через %, left, right... Правда будет медленнее конечно со строковыми операциями... можно лексически разбирать условие и по datepart( разбирать, быстрее будет....