Главная страница
    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.062 c
3-40809
Term
2003-10-22 10:55
2003.11.13
Можно ли изменить длинну поля, не потеряв данные в этом поле


1-41303
Vadim S
2003-10-23 12:10
2003.11.13
Округление? Round() кто как делает?


14-42103
PVOzerski
2003-10-22 15:03
2003.11.13
Скандал вокруг прокси


1-41213
Ivolg
2003-11-01 20:13
2003.11.13
Аналог Artmoney!!!


1-41553
Oleg_
2003-10-22 21:43
2003.11.13
webbrowser в приложении независимо от версии IE





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский