En ocasiones nos hemos visto en la necesidad de hacer esta pregunta a nuestra base de datos, el problema habitual es que en el campo de Fecha Nacimiento esta almacenado el año real de la celebración, por lo que compararlo con las fechas actuales resulta un poco “complicado”.
Este sería un ejemplo de una tabla de empleados “básica”:
| Nombre | FechaNacimiento |
| Antonio Fernández | 14/04/1990 |
| Marisa Paredes | 15/02/1965 |
| Adrian López | 28/02/1978 |
La consulta para saber quien cumpleaños en los próximos 7 días seria:
SELECT * FROM Personal
WHERE CONVERT(Date, CONVERT(VarChar(4), Year(Getdate())) +'/'+ CONVERT(VarChar(2), Month(FechaNacimiento)) +'/'+ CONVERT(VarChar(2), Day(FechaNacimiento))) BETWEEN GETDATE() AND GETDATE()+7
Realmente lo que hacemos es coger la fecha de nacimiento y sustituir el año de nacimiento por el año de la fecha en curso, con eso conseguimos tener una fecha “actual” y podremos compararlas.
Posted
jue, may 13 2010 17:37
by
Maverick