![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL [D6, IB6.x]
xsenort © (2003-11-09 19:18:00)
Помогите с запросом. Храню данные о дате рождения в поле Timestamp. Поле называется Born.
В виде 12.12.75. Как создать запрос кторый покажет именниников на неделю вперёд?
select * from clients where...???
Silver Alex (2003-11-10 09:49:00) [1]
да, лохонулся я с запросом, неверно понял сам вопрос :((
извиняйте, бывает
Johnmen (2003-11-10 09:45:00) [2]
...который будет на следующей неделе...:))))))))))0
Johnmen (2003-11-10 09:43:00) [3]
>Silver Alex © (10.11.03 09:36)
1. Мой вариант именно для IB6 и выше !
2. Твой запрос принципиально неверен, т.к. человек отмечает день рождения каждый год, а не только в год истинного рождения...:)
Anatoly Podgoretsky (2003-11-10 09:42:00) [4]
Silver Alex © (10.11.03 09:36) [4]
Его конечно заслуживает внимание, а вот тове совсем нет, стоит еще раз внимательно прочитать вопрос и подумать, а что же я посоветовал.
Silver Alex (2003-11-10 09:36:00) [5]
SELECT * FROM TABLE
WHERE
BORN BETWEEN :FROMDATE TO :TODATE
-- ЭТО ЗАПРОС
а в Delphi перед открытием набора данных подставляешь значения параметрам , ну типа :
begin
paramemters.parambyname("fromdate").value:=Date;// текушая дата
paramemters.parambyname("todate").value:=Date+7;//или сколько там надо дней
end;
вариант Johnmenа конечно заслуживает внимания, но если это сервер MS SQL :))
Johnmen (2003-11-10 09:05:00) [6]
SELECT * FROM Table
WHERE EXTRACT(DAY FROM Born)+100*EXTRACT(MONTH FROM Born)
BETWEEN
EXTRACT(DAY FROM CAST("TODAY" AS TIMESTAMP)+1)+
100*EXTRACT(MONTH FROM CAST("TODAY" AS TIMESTAMP)+1)
AND
EXTRACT(DAY FROM CAST("TODAY" AS TIMESTAMP)+7)+
100*EXTRACT(MONTH FROM CAST("TODAY" AS TIMESTAMP)+7)
Плохиш_ (2003-11-09 23:43:00) [7]
.... where дата между сегодня и сегодня+7
xsenort (2003-11-09 23:35:00) [8]
Ну хоть чё-то подскажите..........