Ver Mensaje Individual
  #6  
Antiguo 25-02-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Reputación: 23
BlueSteel Va por buen camino
Obtener diferencia de fechas en Segundos

Estimados, encontre la siguiente funcion de SQL Server que me permite obtener la diferencia entre 2 fechas y el resultado me lo arroja segun lo que necesite: año, meses, dias, horas, minutos o segundos

Como yo necesito saber los segundos que transcurren entre el primer ingreso al Estadio y el Ultimo, y luego sacar cada cuantos segundos me ingresaba una persona, me sirvio...

Aqui las sentencias

Código SQL [-]
declare @FechaIngreso datetime
declare @FechaEgreso datetime

select @FechaIngreso = '19981231 15:15:15'
select @FechaEgreso = '20021005 10:10:01'
Select

DATEDIFF(yy, @FechaIngreso, @FechaEgreso) AS Años,
DATEDIFF(mm, @FechaIngreso, @FechaEgreso) AS Meses,
DATEDIFF(dd, @FechaIngreso, @FechaEgreso) AS Dias,
DATEDIFF(mi, @FechaIngreso, @FechaEgreso) AS Minutos,
DATEDIFF(ss, @FechaIngreso, @FechaEgreso) AS Segundos

y para mis consultas, las cree de la siguiente manera

Código SQL [-]
Select Ctl_Id as Puerta, 
Count(Eve_Id) as Ingresos,
Min(Convert(Varchar(8),Ing_Fecha, 108)) as Primer_Ingreso,
Max(Convert(Varchar(8),Ing_Fecha, 108)) as Ultimo_Ingreso,
Convert(Varchar(8),(Max(Ing_Fecha)-Min(Ing_Fecha)),108) as Rango_Tiempo,
DateDiff(s, Min(Ing_Fecha), Max(Ing_Fecha)) as Segundos, 
DateDiff(s, Min(Ing_Fecha), Max(Ing_Fecha))/Count(Eve_id) as Ingreso_Cada_XSeg
From
Vista_Ingreso
Where Eve_Id=8
Group By Ctl_Id


bueno, la consulta anterior me arroja los siguientes resultados

Cita:
3 532 19:40:45 21:16:45 01:36:00 5760 10
1 272 19:40:22 21:00:17 01:19:55 4795 17
5 144 19:46:38 21:04:53 01:18:15 4695 32

la linea 1 me dice lo siguiente:

Puerta de Ingreso : 3
Personas que Ingresaron por esa puerta : 532
Primer Ingreso : 19:40:45
Ultimo Ingreso : 21:16:45
Rango de Tiempo : 01:36:00 (1 hora y 36 minutos)
Rango en Segundos : 5760
Ingreso 1 persona cada :10 segundos


bueno, espero que les sirva esto a alguien.. ahh.. pero lo que no encontre es como transformar un dato de tipo datetime a segundos... pero igual seguire buscando

salu2
__________________
BlueSteel

Última edición por BlueSteel fecha: 25-02-2011 a las 22:10:34.
Responder Con Cita