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

Consulta sobre resta entre fechas PHP-MySQL

Estas en el tema de Consulta sobre resta entre fechas PHP-MySQL en el foro de Bases de Datos General en Foros del Web. Buenas tardes, Tengo un problema con una consulta sql en la que intento restar dos fechas. Los valores de las columnas son los siguientes: ----------------------------------------------- ...
  #1 (permalink)  
Antiguo 25/08/2005, 04:34
 
Fecha de Ingreso: junio-2005
Mensajes: 79
Antigüedad: 18 años, 10 meses
Puntos: 1
Consulta sobre resta entre fechas PHP-MySQL

Buenas tardes,

Tengo un problema con una consulta sql en la que intento restar dos fechas.

Los valores de las columnas son los siguientes:
-----------------------------------------------
entrega: 2005-08-03
fecha: 2005-07-06


Consulta:
------------------------------------------------
SELECT entrega - fecha
FROM trabajos
WHERE peticion =375


Valor Devuelto:
------------------------------------------------
entrega-fecha
97



* Supongo que existe un conflicto entre el día y el mes.. la BD es Mysql, ¿alguien sabe como podría solucionarlo?


Gracias y un saludo
  #2 (permalink)  
Antiguo 25/08/2005, 04:46
 
Fecha de Ingreso: febrero-2005
Mensajes: 20
Antigüedad: 19 años, 2 meses
Puntos: 0
no se si me he enterado bien, lo que quieres es calcular los dias que han transcurrido desde una fecha y otra, no?

Si es asi, se puede usar la funcion:

int mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst])

Lo q tendrias q hacer es meter los datos de la base de datos en los argumentos de la funcion.

Y el ejemplo sería asi:

$i=mktime(0,0,0,8,3,2005);
$j=mktime(0,0,0,7,6,2005);
$k=$i-$j;
echo $k;

k resulta ser el numero 2419200. Ese numero esta dado en segundos, por lo que solo habria q multiplicar por 60 un par de veces y por 24 para calcular los dias transcurridos, que en este caso saldrían 28 dias.

Un saludo!
  #3 (permalink)  
Antiguo 25/08/2005, 06:41
 
Fecha de Ingreso: junio-2005
Mensajes: 79
Antigüedad: 18 años, 10 meses
Puntos: 1
Gracias por tu respuesta ZoItrix, aun así me gustaría saber si se podría solucionar sobre la consulta SQL.

En efecto, quiero calcular los días que han transcurrido desde una fecha a otra.


Un saludo
  #4 (permalink)  
Antiguo 25/08/2005, 07:54
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Consulta:
------------------------------------------------
SELECT to_days(entrega) - to_days(fecha) as diferencia
FROM trabajos
WHERE peticion =375

TO_DAYS(fecha) devuelve la cantidad de días que transcurrieron desde una fecha (creo que desde el 1970-01-01)
  #5 (permalink)  
Antiguo 25/08/2005, 16:14
 
Fecha de Ingreso: junio-2005
Mensajes: 79
Antigüedad: 18 años, 10 meses
Puntos: 1
De acuerdo Solucionado

Gracias Seppo esto es lo que estaba buscando. Funciona correctamente.


Un saludo
  #6 (permalink)  
Antiguo 25/08/2005, 16:19
 
Fecha de Ingreso: octubre-2003
Mensajes: 49
Antigüedad: 20 años, 6 meses
Puntos: 0
uyyyy no sabia que se podia hacer eso con sql....

gracias....Seppo. :P
  #7 (permalink)  
Antiguo 25/08/2005, 18:17
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
DATEDIFF() obtiene directamente el número de días entre dos fechas:
Código:
SELECT DATEDIFF(fecha_fin, fecha_inicio) AS diferencia FROM tabla
http://dev.mysql.com/doc/maxdb/en/d2...61/content.htm

Por favor hacer las consultas en los foros indicados; si se consulta sobre SQL el foro indicado es el de Base de Datos... movido.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 01:44.