Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.13;
Скачать: CL | DM;

Вниз

SELECT!!! Извлечение данных по дню месяца и месяцу года.   Найти похожие ветки 

 
Sugrob ©   (2003-10-23 19:38) [0]

Помогите, пжлса, решить такую задачу.
К примеру имеем таблицу сотрудников. Поля такие:
1. ID INTEGER
2. NAME VARCHAR(50)
3. BITHDAY DATE (день рождения)

Необходимо извлечь только те данные, где:
1. ДЕНЬ рождения равен сегодняшнему дню или больше;
2. МЕСЯЦ рождения равен текущему месяцу или больше;
3. Год - все равно какой;

Т.е. нужно вывести список сотрудников, у которых день рождения сегодня или в ближайшие несколько дней (хотя можно и до конца года или месяца - это не принципиально). При этом записи должны быть отсортированы в следуюшем порядке: Месяц -> День -> Год

Например, имеем в базе записи:
1 Иванов 10.05.1985
2 Сидоров 27.11.1972
3 Петров 08.11.1976
4 Васильев 23.10.1965

Сегодня у нас 23.10.2003
после извлечения в НД долны содержаться записи:

4 Васильев 23.10.1965
3 Петров 08.11.1976
2 Сидоров 27.11.1972

Возможно будет другое решение, к примеру основанное не на TQuery, а на TTable. Я пробовал через TTable. Делал поля Calculated. Вычленял номер дня и месяца. Все бы хорошо, но сделать сортировку в нужном порядке - не получилось, т.к. индекс основан и на ГОДЕ рождения...

И просьба не предлагать вариант хранения в базе дня рождения в трех полях (день, месяц, год). Это принципиально важно...


 
Rad ©   (2003-10-23 19:51) [1]

RTFM EXTRACT (year FROM <Field_Name>) и ORDER BY 1, 2, 3


 
Sugrob ©   (2003-10-23 20:07) [2]

>Rad ©

Замечательно! То что надо!


 
Rad ©   (2003-10-23 20:14) [3]

2 Sugrob © (23.10.03 20:07) [2]
Ну там еще month и day можно EXTRACT. Заметил, да?
P.S. Вот это я понимаю, человек совершенно правильно отреагировал на ответ, без всяких там "а примерчик, ну плиииз" :))


 
anatolyk   (2003-10-23 22:34) [4]

в самом MSSQL, например, есть ф-ия Dateapart(part,date), которая выделяет из даты хоть год, хоть секунды.


 
Johnmen ©   (2003-10-23 22:50) [5]

>anatolyk (23.10.03 22:34)

"Казалось бы, а причем тут Лужков ?" (c) Доренко



Страницы: 1 вся ветка

Текущий архив: 2003.11.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.151 c
1-41176
lipskiy
2003-11-01 00:19
2003.11.13
Проблема с описанием метода в потомке класса


4-42332
SergeySEM
2003-09-03 16:05
2003.11.13
добавить кнопку в заголовк чужого окна


1-41701
Nucl
2003-11-03 08:57
2003.11.13
Влияют ли модули, перечисленные в Uses на размер программы ?


3-40791
Митяй
2003-10-22 15:15
2003.11.13
БД не сохраняет записи?????


7-42160
Fontom
2003-09-02 11:38
2003.11.13
COM порт (Таймауты)