Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/04/2014, 15:23
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Consulta mysql para calcular los cumpleañeros de la semana?

Hola djdonovans:

Hay muchas formas de obtener la consulta que planteas, una de ellas es utilizando la función DATEDIFF, que te regresa la diferencia en días entre dos fechas. Si la diferencia entre la fecha actual y la fecha en que una persona cumple años es menor o igual a 10, obtienes lo que esperas.

Mucho ojo, el detalle en qué almacenas en tu campo mi_campo_de_fechas, puedo suponer que se trata la fecha de nacimiento, por lo tanto NO PUEDES COMPARAR DIRECTAMENTE CONTRA SEA FECHA, sino que tienes que considerar el año en curso:

Si mi fecha de nacimiento es el 21 de diciembre de 1980 (1980-12-21), mi fecha de cumpleaños para el 2014 sería (2014-12-21).

En tu ejemplo ya utilizas la función DATE_FORMAT para extraer la parte de la fecha que te interesa, eso mismo te puede servir:

Código MySQL:
Ver original
  1. mysql> select  DATE_FORMAT('1980-12-21', '%Y-%m-%d') mi_fecha_de_nacimiento,
  2.     -> DATE_FORMAT('1980-12-21', '2014-%m-%d') mi_fecha_de_cumpleaños;
  3. +------------------------+-------------------------+
  4. | mi_fecha_de_nacimiento | mi_fecha_de_cumpleaños  |
  5. +------------------------+-------------------------+
  6. | 1980-12-21             | 2014-12-21              |
  7. +------------------------+-------------------------+
  8. 1 row in set (0.02 sec)

Observa, la fecha de "entrada" es la misma... el chiste es el formato que le colocas... Obviamente este ejemplo es válido sólo para este año... pero tienes muchas otras funciones de fecha y hora que te sirven para cambiar esto para cualquier año (por ejemplo YEAR :P).

Haz el intento y nos comentas, si tienes problemas postea algo de lo que intentaste hacer y con gusto te ayudamos a corregir la consulta.

Saludos
Leo