powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с Sql запросом (дата рождения и возраст)
7 сообщений из 7, страница 1 из 1
Проблема с Sql запросом (дата рождения и возраст)
    #39923185
dima_18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте всем!

Подскажите пожалуйста ответ на следующий вопрос. Никак не могу догадаться. У меня есть даты рождения. Пример: 01.05.1980 и т.д.
А есть два текстовых поля: Text1 и Text 2
в них я пишу возраст: допустим : 35 и 42

и мне нужно выбрать людей от этого по такой возраст, но учитывая , что забиты люди, повторюсь, по дате рождения.

заранее большое спасибо!
...
Рейтинг: 0 / 0
Проблема с Sql запросом (дата рождения и возраст)
    #39923186
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала надо вычислить дату когда родились все 35 и старше.
Код: sql
1.
? date(year(date()) - 35, month(date()), day(date()))


затем так же когда родились все младше 42+1 лет.

В запросе выбирать тех кто родился между этими датами.

PS Еще 29 февраля надо учесть
...
Рейтинг: 0 / 0
Проблема с Sql запросом (дата рождения и возраст)
    #39923190
dima_18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, спасибо я не много не понял.
? date(year(date()) - 35, month(date()), day(date()))

А зачем нужна после запятой часть, т.е. month(date()), day(date()))
может напишешь простенький запрос.

Т.е. из Text1.Value
Text2.Value
я получаю диапазон возрастов

в таблице поле у меня: narush2.vozrast


Как написать:
where narush2.vozrast between .....and .......
...
Рейтинг: 0 / 0
Проблема с Sql запросом (дата рождения и возраст)
    #39923193
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima_18
Dima T, спасибо я не много не понял.
? date(year(date()) - 35, month(date()), day(date()))

А зачем нужна после запятой часть, т.е. month(date()), day(date()))
Для того, чтобы таки собрать дату, а не только один год. У функции Date() таки три параметра. Хотя мне кажется применение сей функции в данном случае сомнительным.может напишешь простенький запрос.А может простенькие запросы таки самостоятельно писать?
Т.е. из Text1.Value
Text2.Value
я получаю диапазон возрастовЕсли я правильно все понимаю, то из этих полей ты получаешь границы диапазона возрастов.
в таблице поле у меня: narush2.vozrastИ что в нем? Действительно возраст, то бишь число, или таки дата рождения, то бишь дата??
Как написать:
where narush2.vozrast between .....and .......А ответ на этот вопрос сильно зависит от ответа на предыдущий вопрос.
...
Рейтинг: 0 / 0
Проблема с Sql запросом (дата рождения и возраст)
    #39923195
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
date() без параметров возвращает текущую дату, с параметрами date(ГГ, ММ, ДД) возвращает заданую дату ДД.ММ.ГГ в формате даты.

Но можно проще, через GoMonth(), он 29 февраля учитывает.
Код: sql
1.
... where narush2.vozrast between GoMonth(date(), -12 * (ThisForm.Text2.value + 1))+1 and GoMonth(date(), -12 * (ThisForm.Text1.value))
...
Рейтинг: 0 / 0
Проблема с Sql запросом (дата рождения и возраст)
    #39923200
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaНо можно проще, через GoMonth(), он 29 февраля учитывает.Вот именно на это я намекал при указании на сомнительность применения в данном случае функции Date(). Теперь только надо получить ответ на вопрос о типе данных в поле vozrast, а то если там число, то сей финт не пройдет. :)
...
Рейтинг: 0 / 0
Проблема с Sql запросом (дата рождения и возраст)
    #39923383
dima_18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо всем за обсуждение.
Особая благодарность - Dima_T.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с Sql запросом (дата рождения и возраст)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]