2011-09-05 23 views
5

En mi base de datos, hay un campo llamado cumpleaños (fecha) y quiero recuperar registros de que el mes de nacimiento y el día de nacimiento son iguales al mes y día actuales. ¿Hay alguna manera de escribir una consulta para esto? ¿O simplemente tengo que hacerlo recuperando todos los registros y buscando los registros coincidentes después usando otro programa? ¡Gracias!Cómo filtrar registros de fecha en MySQL?

Respuesta

12

Esto también podría funcionar: (NOTA de que no estoy seguro de si se refiere a los días en un mes o días a la semana)?

SELECT * FROM TABLE 
WHERE MONTH(birthday) = MONTH(CURRENT_DATE) 
AND DAY(birthday) = DAY(CURRENT_DATE) --assuming day within a month 
+0

También revise este http://stackoverflow.com/q/508791/247184 - tiene algunos consejos. – VoodooChild

+0

Gracias ...........! –

4
select * from table 
where date_format(birthday, '%m%d')=date_format(current_date, '%m%d'); 

La consulta anterior no haría uso de índice de MySQL

+1

% y => ¿No sería% d en su lugar? Aquí está comparando el año y el mes donde se solicita el día y el mes. –

Cuestiones relacionadas