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

[SOLUCIONADO] Cálculo fechas campos Date + Int

Estas en el tema de Cálculo fechas campos Date + Int en el foro de Mysql en Foros del Web. En una base de datos MySQL tengo tres campos: ULTIMAITV campo DATE ITVCADA campo INT PROXIMAITV campo DATE Necesitaría sumar al campo ULTIMAITV la cantidad ...
  #1 (permalink)  
Antiguo 21/04/2015, 10:05
Avatar de pruizsoriano  
Fecha de Ingreso: agosto-2013
Mensajes: 11
Antigüedad: 10 años, 8 meses
Puntos: 0
Cálculo fechas campos Date + Int

En una base de datos MySQL tengo tres campos:

ULTIMAITV campo DATE
ITVCADA campo INT
PROXIMAITV campo DATE

Necesitaría sumar al campo ULTIMAITV la cantidad de meses indicada en el campo ITVCADA para que en el campo PROXIMAITV me apareciese la fecha de próxima revisión de un vehículo.
  #2 (permalink)  
Antiguo 21/04/2015, 10:13
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Cálculo fechas campos Date + Int

http://www.w3schools.com/sql/func_date_add.asp

Google it ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 21/04/2015, 10:24
Avatar de 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álculo fechas campos Date + Int

Yo prefiero:

MySQL 5.6 Reference Manual :: 12 Functions and Operators :: 12.7 Date and Time Functions

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 21/04/2015, 10:33
Avatar de pruizsoriano  
Fecha de Ingreso: agosto-2013
Mensajes: 11
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Cálculo fechas campos Date + Int

Cita:
Iniciado por Libras Ver Mensaje
[URL="http://www.w3schools.com/sql/func_date_add.asp"]http://www.w3schools.com/sql/func_date_add.asp[/URL]

Google it ;)
Estimado Libras ante todo agradecerte tu interés y rápida respuesta.

Quizá resumí demasiado mi problema, pero el caso es que con el ejemplo del enlace que me mandas no soluciono mi problema:

Código SQL:
Ver original
  1. SELECT OrderId,DATE_ADD(OrderDate,INTERVAL 45 DAY) AS OrderPayDate
  2. FROM Orders

En este caso que ya había probado, el tiempo "entre revisiones" está limitado a 45 días en todos y cada uno de los registros. En cambio los tiempos de "revisión" de cada vehículo son diferentes y vienen dados por el valor del campo ITVCADA que puede ser diferente para cada vehículo.

Y ahí es donde me he liado o mejor dicho bloqueado, se que tiene que se una solución sencilla, pero sinceramente no la encuentro.

El campo ITVCADA que está configurado como INT podría ser también un DATE en el que figuran los MESES de intervalo, pero como digo serían diferentes para cada registro.
  #5 (permalink)  
Antiguo 21/04/2015, 10:49
Avatar de 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álculo fechas campos Date + Int

Si los tres campos que mencionas están en la tabla donde registras los vehículos, simplemente tienes que hacer un JOIN entre ambas, y hacer que tome los datos para ese calculo de donde correspodna.
Código MySQL:
Ver original
  1. SELECT O.OrderId, DATE_ADD(O.OrderDate, INTERVAL V.ITVCADA DAY) OrderPayDate
  2. FROM Orders O INN JOIN vehculo V ON O.id_vehiculo = V.id_vehiculo

No puedo aportarte una consulta mejor porque no nos estás dando toda la información necesaria.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 21/04/2015, 11:21
Avatar de pruizsoriano  
Fecha de Ingreso: agosto-2013
Mensajes: 11
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Cálculo fechas campos Date + Int



efectivamente los tres campos se encuentran en la misma tabla "tb_vehiculos"
  #7 (permalink)  
Antiguo 21/04/2015, 11:28
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Cálculo fechas campos Date + Int

nos serviria mas un ejemplo de los datos, no tanto de la estructura....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #8 (permalink)  
Antiguo 21/04/2015, 11:40
Avatar de pruizsoriano  
Fecha de Ingreso: agosto-2013
Mensajes: 11
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Cálculo fechas campos Date + Int



Captura de los datos y nuevamente agradecimiento por vuestro interés.
  #9 (permalink)  
Antiguo 21/04/2015, 11:51
Avatar de 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álculo fechas campos Date + Int

OK.
¿Probaste construir la query como te sugiero, reemplazando DAY por MONTH?
Código MySQL:
Ver original
  1. SELECT O.OrderId, DATE_ADD(O.OrderDate, INTERVAL V.ITVCADA MONTH) OrderPayDate
  2. FROM Orders O INN JOIN vehculo V ON O.id_vehiculo = V.id_vehiculo
Con el mismo principio, simplemente haces un UPDATE.
ALgo como:
Código MySQL:
Ver original
  1. UPDATE tb_vehiculos
  2. set PROXIMAITV = DATE_ADD(ULTIMAITV, INTERVAL ITVCADA MONTH);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 21/04/2015, 12:07
Avatar de pruizsoriano  
Fecha de Ingreso: agosto-2013
Mensajes: 11
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Cálculo fechas campos Date + Int

Efectivamente así era y lo malo es que lo había pensado pero "el que no sabe es como el que no ve".

Muchísimas gracias por vuestra inestimable ayuda, espero un día poder aportar también mis conocimientos como tan magistralmente hacéis vosotros.
  #11 (permalink)  
Antiguo 21/04/2015, 12:11
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Cálculo fechas campos Date + Int

Desde la primera liga se entiende que la funcion permite varios parametros no solo por dia......pero que bien que pudiste solucionar tu problema :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campo, campos, date, fecha, int, sql
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 15:45.