2013-11-15 3 views
1

У меня есть таблица mysql с строкой «born». В утробы, Я естьmysql выбрать людей старше 3 месяцев и моложе

born 
---- 
2013-07-15 
2010-11-29 
2013-11-01 

и т.д. Как я могу сделать запрос MySQL, чтобы выбрать людей старше 3-х месяцев, так что он должен сравнить строку «рожденного»? в этом случае он должен вернуть первый и второй элементы.

А как выбрать людей моложе 4 лет? в этом случае он должен вернуть все предметы. Я хотел бы порт так выбрать старше/моложе день, х дней, месяц, месяц, год, лет и т.д.

большое спасибо

+0

На вопрос и ответ: http://stackoverflow.com/questions/288984/the-difference-in-months-between-dates-in-mysql, возможно, вам понадобится использовать датифик, если вам нужны месяцы. – xQbert

ответ

2

Это не совсем правильно, потому что это не будет счета на день рождения, но должно дать вам основную идею:

старше 3 месяцев:

SELECT * 
FROM yourtable 
WHERE born < (now() - INTERVAL 3 MONTH) 

моложе 4 лет:

SELECT * 
FROM yourtable 
WHERE born > (now() - INTERVAL 4 YEAR) 
Смежные вопросы