Diferencia de tiempos en una columna

14/01/2005 - 13:24 por egloeda arrobita teleline dot es | Informe spam
Buenas todos

Necesito vuestra ayuda tengo una duda, necesito calcular la diferencia
entre dos fecha en una tabla, pero las dos fecha no estan en la misma
fila, si no el la misma columna.

La tabla tiene esta forma

ESTADO FECHA
1 2005-01-14 12:17:20.780
2 2005-01-14 12:17:27.410
7 2005-01-14 12:17:36.803
2 2005-01-14 12:20:35.070
7 2005-01-14 12:21:30.870
2 2005-01-14 12:21:36.117
2 2005-01-14 12:38:05.830
2 2005-01-14 12:38:10.347
7 2005-01-14 12:40:37.780
2 2005-01-14 12:41:38.697
7 2005-01-14 12:41:43.330
2 2005-01-14 12:43:05.050
8 2005-01-14 12:43:05.060

¿Sabeis como se puede calcular la diferencia entre por ejemplo el
primero y el segundo registro?


Emilio Gª Loeda
egloeda algarroba teleline punto es

Preguntas similare

Leer las respuestas

#1 Tinoco
13/01/2005 - 16:53 | Informe spam
Hola,

Se puede utilizar la funcion DateDiff para comparar fechas:
DATEDIFF ( datepart , startdate , enddate )

Ejemplo: para este caso necesitas un diferenciador de linea para que te
funcione, por ejemplo el ESTADO. Pero segun los datos enviados no sirve,
prueba con algo como esto

Select DateDiff (day, tbl1.FECHA, tbl2.FECHA)
From tabla1 tbl1, tabla1 tbl2
where tbl1.ESTADO = 1
and tbl2.ESTADO = 2

Espero haber ayudado.

Hermilson Tinoco.
Colombia

"egloeda arrobita teleline dot es" <"eglo" wrote:

Buenas todos

Necesito vuestra ayuda tengo una duda, necesito calcular la diferencia
entre dos fecha en una tabla, pero las dos fecha no estan en la misma
fila, si no el la misma columna.

La tabla tiene esta forma

ESTADO FECHA
1 2005-01-14 12:17:20.780
2 2005-01-14 12:17:27.410
7 2005-01-14 12:17:36.803
2 2005-01-14 12:20:35.070
7 2005-01-14 12:21:30.870
2 2005-01-14 12:21:36.117
2 2005-01-14 12:38:05.830
2 2005-01-14 12:38:10.347
7 2005-01-14 12:40:37.780
2 2005-01-14 12:41:38.697
7 2005-01-14 12:41:43.330
2 2005-01-14 12:43:05.050
8 2005-01-14 12:43:05.060

¿Sabeis como se puede calcular la diferencia entre por ejemplo el
primero y el segundo registro?


Emilio Gª Loeda
egloeda algarroba teleline punto es

Respuesta Responder a este mensaje
#2 ulises
14/01/2005 - 09:34 | Informe spam
En primer lugar tendrías que ordenarlos y luego hacer un join entre el
registro inicial y el registro siguiente y usar DATEDIFF, algo como :

select a.fecha as fechainicial,
b.fecha as fechafinal,
DATEDIFF(ms,a.fecha,b.fecha)/1000.0 as segundos
from ( select count(*) as secuencia, t1.fecha as fecha
from tabla t1 join tabla t2 on t1.fecha >= t2.fecha
group by t1.fecha) a
join ( select count(*) - 1 as secuencia, t3.fecha as fecha
from tabla t3 join tabla t4 on t3.fecha >= t4.fecha
group by t3.fecha ) b
on a.secuencia = b.secuencia

fechainicial fechafinal segundos
2005-01-14 12:17:20.780 2005-01-14 12:17:27.410 6.630000
2005-01-14 12:17:27.410 2005-01-14 12:17:36.803 9.393000
2005-01-14 12:17:36.803 2005-01-14 12:20:35.070 178.266000
2005-01-14 12:20:35.070 2005-01-14 12:21:30.870 55.800000
2005-01-14 12:21:30.870 2005-01-14 12:21:36.117 5.246000
2005-01-14 12:21:36.117 2005-01-14 12:38:05.830 989.713000
2005-01-14 12:38:05.830 2005-01-14 12:38:10.347 4.516000
2005-01-14 12:38:10.347 2005-01-14 12:40:37.780 147.433000
2005-01-14 12:40:37.780 2005-01-14 12:41:38.697 60.916000
2005-01-14 12:41:38.697 2005-01-14 12:41:43.330 4.633000
2005-01-14 12:41:43.330 2005-01-14 12:43:05.050 81.720000
2005-01-14 12:43:05.050 2005-01-14 12:43:05.060 .010000

(12 row(s) affected)


Saludos,
Ulises

On Fri, 14 Jan 2005 13:24:46 +0100, "egloeda arrobita teleline dot es"
<"egloeda arrobita teleline dot es"> wrote:

Buenas todos

Necesito vuestra ayuda tengo una duda, necesito calcular la diferencia
entre dos fecha en una tabla, pero las dos fecha no estan en la misma
fila, si no el la misma columna.

La tabla tiene esta forma

ESTADO FECHA
1 2005-01-14 12:17:20.780
2 2005-01-14 12:17:27.410
7 2005-01-14 12:17:36.803
2 2005-01-14 12:20:35.070
7 2005-01-14 12:21:30.870
2 2005-01-14 12:21:36.117
2 2005-01-14 12:38:05.830
2 2005-01-14 12:38:10.347
7 2005-01-14 12:40:37.780
2 2005-01-14 12:41:38.697
7 2005-01-14 12:41:43.330
2 2005-01-14 12:43:05.050
8 2005-01-14 12:43:05.060

¿Sabeis como se puede calcular la diferencia entre por ejemplo el
primero y el segundo registro?


Emilio Gª Loeda
egloeda algarroba teleline punto es
Respuesta Responder a este mensaje
#3 egloeda arrobita teleline dot es
15/01/2005 - 12:37 | Informe spam
Gracias por tu ayuda, la verdad la consulta es muy original, me ha
gustado mucho

ulises wrote:
En primer lugar tendrías que ordenarlos y luego hacer un join entre el
registro inicial y el registro siguiente y usar DATEDIFF, algo como :

select a.fecha as fechainicial,
b.fecha as fechafinal,
DATEDIFF(ms,a.fecha,b.fecha)/1000.0 as segundos
from ( select count(*) as secuencia, t1.fecha as fecha
from tabla t1 join tabla t2 on t1.fecha >= t2.fecha
group by t1.fecha) a
join ( select count(*) - 1 as secuencia, t3.fecha as fecha
from tabla t3 join tabla t4 on t3.fecha >= t4.fecha
group by t3.fecha ) b
on a.secuencia = b.secuencia

fechainicial fechafinal segundos
2005-01-14 12:17:20.780 2005-01-14 12:17:27.410 6.630000
2005-01-14 12:17:27.410 2005-01-14 12:17:36.803 9.393000
2005-01-14 12:17:36.803 2005-01-14 12:20:35.070 178.266000
2005-01-14 12:20:35.070 2005-01-14 12:21:30.870 55.800000
2005-01-14 12:21:30.870 2005-01-14 12:21:36.117 5.246000
2005-01-14 12:21:36.117 2005-01-14 12:38:05.830 989.713000
2005-01-14 12:38:05.830 2005-01-14 12:38:10.347 4.516000
2005-01-14 12:38:10.347 2005-01-14 12:40:37.780 147.433000
2005-01-14 12:40:37.780 2005-01-14 12:41:38.697 60.916000
2005-01-14 12:41:38.697 2005-01-14 12:41:43.330 4.633000
2005-01-14 12:41:43.330 2005-01-14 12:43:05.050 81.720000
2005-01-14 12:43:05.050 2005-01-14 12:43:05.060 .010000

(12 row(s) affected)


Saludos,
Ulises

On Fri, 14 Jan 2005 13:24:46 +0100, "egloeda arrobita teleline dot es"
<"egloeda arrobita teleline dot es"> wrote:


Buenas todos

Necesito vuestra ayuda tengo una duda, necesito calcular la diferencia
entre dos fecha en una tabla, pero las dos fecha no estan en la misma
fila, si no el la misma columna.

La tabla tiene esta forma

ESTADO FECHA
1 2005-01-14 12:17:20.780
2 2005-01-14 12:17:27.410
7 2005-01-14 12:17:36.803
2 2005-01-14 12:20:35.070
7 2005-01-14 12:21:30.870
2 2005-01-14 12:21:36.117
2 2005-01-14 12:38:05.830
2 2005-01-14 12:38:10.347
7 2005-01-14 12:40:37.780
2 2005-01-14 12:41:38.697
7 2005-01-14 12:41:43.330
2 2005-01-14 12:43:05.050
8 2005-01-14 12:43:05.060

¿Sabeis como se puede calcular la diferencia entre por ejemplo el
primero y el segundo registro?


Emilio Gª Loeda
egloeda algarroba teleline punto es




Respuesta Responder a este mensaje
#4 egloeda arrobita teleline dot es
15/01/2005 - 12:38 | Informe spam
Gracias tu respuesta es muy bella por su simpleza

Tinoco wrote:

Hola,

Se puede utilizar la funcion DateDiff para comparar fechas:
DATEDIFF ( datepart , startdate , enddate )

Ejemplo: para este caso necesitas un diferenciador de linea para que te
funcione, por ejemplo el ESTADO. Pero segun los datos enviados no sirve,
prueba con algo como esto

Select DateDiff (day, tbl1.FECHA, tbl2.FECHA)
From tabla1 tbl1, tabla1 tbl2
where tbl1.ESTADO = 1
and tbl2.ESTADO = 2

Espero haber ayudado.

Hermilson Tinoco.
Colombia

"egloeda arrobita teleline dot es" <"eglo" wrote:


Buenas todos

Necesito vuestra ayuda tengo una duda, necesito calcular la diferencia
entre dos fecha en una tabla, pero las dos fecha no estan en la misma
fila, si no el la misma columna.

La tabla tiene esta forma

ESTADO FECHA
1 2005-01-14 12:17:20.780
2 2005-01-14 12:17:27.410
7 2005-01-14 12:17:36.803
2 2005-01-14 12:20:35.070
7 2005-01-14 12:21:30.870
2 2005-01-14 12:21:36.117
2 2005-01-14 12:38:05.830
2 2005-01-14 12:38:10.347
7 2005-01-14 12:40:37.780
2 2005-01-14 12:41:38.697
7 2005-01-14 12:41:43.330
2 2005-01-14 12:43:05.050
8 2005-01-14 12:43:05.060

¿Sabeis como se puede calcular la diferencia entre por ejemplo el
primero y el segundo registro?


Emilio Gª Loeda
egloeda algarroba teleline punto es

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida