[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вопрос по дате
maximka787
Ребят, привет, скажите вот у меня в таблице есть дата рождения сотрудников в формате date YYYY/MM/DD

Какой запрос мне надо сделать чтобы найти людей в промежутке от 20-50 лет?
20 и 50 это переменные

Я начал делать, но на половине остановился тк потерял логику

SELECT 
*
FROM
`account`
WHERE
`data_bird` <= (`data_bird` - INTERVAL 50 YEAR) AND
`data_bird` >= (`data_bird` - INTERVAL 20 YEAR)





Спустя 28 минут, 15 секунд (12.07.2011 - 13:06) maximka787 написал(а):
Вот сделал, только нельзя ли как то уменьшить его?

SELECT
`nic`,
`birth`,
(
YEAR(CURRENT_DATE)-YEAR(birth)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birth,5)) AS age
FROM
`account`
WHERE
(YEAR(CURRENT_DATE)-YEAR(birth)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birth,5)) > 20 AND
(YEAR(CURRENT_DATE)-YEAR(birth)) - (RIGHT(CURRENT_DATE,5)<RIGHT(birth,5)) < 50
;

Спустя 2 часа, 51 минута, 37 секунд (12.07.2011 - 15:58) Dizzy написал(а):
SELECT `nic`, `birth` FROM `account` WHERE `birth` < 50 AND `birth` > 20;

Спустя 7 минут, 56 секунд (12.07.2011 - 16:06) kristall написал(а):
WHERE (YEAR(CURRENT_DATE)-YEAR(birth)) BETWEEN 20 AND 50


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.