![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выборка по датам [D6, dBase, FoxPro]
RDen © (2004-08-04 14:30:00)Здравствуйте! В базе имеются поля Фамилия, Дата опроса и Дата рождения. Нужно выбрать фамилии людей, которым на момент опроса было, например 30 лет. Подкажите пож. ,а то уже не соображу под коней раб. дня. Спасибо!
Johnmen (2004-08-04 16:36:00) [1]>Соловьев © (04.08.04 16:13) [7]
Если есть родившиеся 29.02 тогда надо...
Johnmen (2004-08-04 16:32:00) [2]Типа этого
where cast(cast(extract(day from <Датарождения>) as varchar(2))||'.'||
cast(extract(month from <Датарождения>) as varchar(2))||'.'||
cast(extract(year from <Датарождения>)+30 as varchar(4)) as date) <= <Датаопроса>
Anatoly Podgoretsky (2004-08-04 16:28:00) [3]Соловьев © (04.08.04 15:31) [4]
Где ты увидел здесь LocalSQL, обрати особое внимание на <:>
Соловьев (2004-08-04 16:13:00) [4]
> там бы можно было бы выделить в запросе от даты год и с
> ним орудовать как с числом,
в localsql есть функция extract которая выделяет год и т.п. Но здесь другой немного случай тут надо еще учитывать высокосные года или нет.
Rule (2004-08-04 16:04:00) [5]жалко что не интербейз, там бы можно было бы выделить в запросе от даты год и с ним орудовать как с числом, а это просто, а так прийдется действительно через параметр как сказал
Соловьев © (04.08.04 15:31) [4]
Rule (2004-08-04 16:02:00) [6]Ну тут вопрос ещё, в каком формате хранится дата рождения
Соловьев (2004-08-04 15:31:00) [7]
> - 30 лет
это и посчитать будет сложно с помощью localsql
имхо, тогда на клиенте считать
разность Текущая дата - 30 лет и подставлять параметром
Rule (2004-08-04 15:28:00) [8]Anatoly Podgoretsky © (04.08.04 15:15) [2]
определенно правильно
Anatoly Podgoretsky (2004-08-04 15:15:00) [9]Датарождения <= :Текущая дата - 30 лет
сергей1 (2004-08-04 14:49:00) [10]неужели в foxpro нет функции типа datediff() как в MSSQL ?
а то запрос получается таким
select Фамилия from Table1 where datediff(Дата_опроса - Дата_рожд.) >30