Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Saber con la fecha de nacimiento cuantos meses tiene hasta hoy.

Estas en el tema de Saber con la fecha de nacimiento cuantos meses tiene hasta hoy. en el foro de Mysql en Foros del Web. Buenas, estoy tratando de hacer una consulta que me dé por resultado los meses que tiene sierta persona por ejemplo si nació el 2009-02-25 hasta ...
  #1 (permalink)  
Antiguo 18/09/2009, 08:44
Avatar de gersveo  
Fecha de Ingreso: julio-2008
Mensajes: 145
Antigüedad: 15 años, 9 meses
Puntos: 5
Saber con la fecha de nacimiento cuantos meses tiene hasta hoy.

Buenas,
estoy tratando de hacer una consulta que me dé por resultado los meses que tiene sierta persona por ejemplo si nació el 2009-02-25 hasta hoy 2009-09-18, tiene 6 meses.
tengo una consulta que me arroja la edad de la persona, no sé si por esta consulta se pueda modificar para que me arroje los meses que tine la persona.
Cita:
SELECT p.nombre, (YEAR(CURRENT_DATE) - YEAR(p.fecha_nacimiento)) - (RIGHT(CURRENT_DATE,5) < RIGHT(p.fecha_nacimiento,5)) AS edad_persona
FROM persona p
  #2 (permalink)  
Antiguo 18/09/2009, 09:01
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Saber con la fecha de nacimiento cuantos meses tiene hasta hoy.

esta te sirve?

Código sql:
Ver original
  1. SELECT FLOOR((DATE(now())-DATE('1984-11-12'))/30) AS edad_meses;

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 18/09/2009, 09:26
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Saber con la fecha de nacimiento cuantos meses tiene hasta hoy.

Como ampliación a la respuesta de huesos y si usas MySQL 5.0.0 o superior, podrías probar
SELECT TIMESTAMPDIFF(MONTH,'1984-11-12',curdate()) edad_meses

Si te traes los datos de un campo date de la tabla
SELECT TIMESTAMPDIFF(MONTH,campofecha,curdate()) edad_meses FROM tutabla;

También puedes usarlo con campos datetime.



No lo he probado
  #4 (permalink)  
Antiguo 18/09/2009, 09:39
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Saber con la fecha de nacimiento cuantos meses tiene hasta hoy.

la que dí no funciona. Que despistado.

Código sql:
Ver original
  1. SELECT FLOOR(datediff(DATE(now()),DATE('1984-11-12'))/30) AS edad_meses;

Sin embargo, la que te ofrece jurena es mucho mas exacta. No la conocía
saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 18/09/2009, 09:43
Avatar de gersveo  
Fecha de Ingreso: julio-2008
Mensajes: 145
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Saber con la fecha de nacimiento cuantos meses tiene hasta hoy.

Muchas gracias voy a probar con los dos script, una pregunta para huesos52, al dividir por 30 quiere decir que son solo dias de 30, verdad?? no hay ningun inconveniente con meses de 31, 28 ó 29 dias??
gracias
  #6 (permalink)  
Antiguo 18/09/2009, 10:13
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Saber con la fecha de nacimiento cuantos meses tiene hasta hoy.

al revés. La función es inexacta. yo me quedaría con la función de jurena.

Para hacerla exacta mirala aca.
http://forge.mysql.com/tools/tool.php?id=153

Pero ya está creada por mysql como afirma jurena con la función timestampdiff
saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Última edición por huesos52; 18/09/2009 a las 10:20
  #7 (permalink)  
Antiguo 18/09/2009, 10:18
Avatar de gersveo  
Fecha de Ingreso: julio-2008
Mensajes: 145
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Saber con la fecha de nacimiento cuantos meses tiene hasta hoy.

Cita:
Iniciado por huesos52 Ver Mensaje
al revés. La función es inexacta. yo me quedaría con la función de jurena.

saludos
Listo muchas gracias
  #8 (permalink)  
Antiguo 13/05/2010, 16:23
 
Fecha de Ingreso: mayo-2010
Mensajes: 2
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Saber con la fecha de nacimiento cuantos meses tiene hasta hoy.

DECLARE @cantMeses int = 0,
@mesInicio date,
@mesFinal date


set @cantMeses = DATEDIFF(MONTH, @mesInicio, @mesFinal)
if DAY(@mesInicio) > DAY(@mesFinal)
begin
set @cantMeses = @cantMeses - 1
end



Con eso ya les queda almacenado en @cantMeses la cantidad de meses entre las fechas.

Si hay algo que se deba corregir me avisan.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:15.