Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.031 c
3-40921
Sam Stone
2003-10-19 16:06
2003.11.13
mdb


4-42305
Joker1
2003-09-07 12:16
2003.11.13
Блокировка всех приложений


3-40867
pok
2003-10-21 11:01
2003.11.13
Переход от D6 на D7, проблема с отчотами....


3-41019
Wudu
2003-10-15 20:44
2003.11.13
Как создать пустую InterBase базу


3-40832
chtr
2003-10-22 07:16
2003.11.13
Как ускорить запрос в Access





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский