Ver Mensaje Individual
  #12 (permalink)  
Antiguo 30/03/2017, 06:28
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cómo obtener niños con edad igual a x meses

Cita:
Iniciado por X_fran Ver Mensaje
gnzsoloyo, gracias por las aclaraciones, no sabía lo del uso de comillas en las unidades de las funciones de la DQL; una duda si aplico una cláusula BETWEEN a la segunda DQL que me expones, está no arrojará los niños que tengan cumplidos 7 meses además !???
Un between te devolverá todos los datos que cumplan con el RANGO.
Dependerá del rango que indiques lo que obtendrás. Ten en cuenta solamente que los limites del rango son inclusivos, es decir están incluidos en el rango.

Para obtener los que ya han cumplido siete meses, por ejemplo, la fecha desde debería ser, siendo el dia de hoy 30/03/2017, de al menos 30/08/2016.

Ahora bien, cuando necesitas trabajar con valores enteros precisos, es decir, cuando quieres casos donde un valor por una determinada unidad de tiempo sea exacto, es mejor usar otra función TIMESTAMPDIFF(), que es mucho mas precisa.
Código SQL:
Ver original
  1. SELECT n FROM AppBundle:Ninho n
  2. WHERE TIMESTAMPDIFF(MONTH, n.fechaNacimiento, CURDATE()) => 6;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)