Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MS SQL Server
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2008
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 19
BuenaOnda Va por buen camino
Thumbs up Solucionado..

solucione mi problema. converti todo a segundos y luego formatee la hora de la siguiente manera.

funcion.
Código SQL [-]
CREATE FUNCTION [dbo].[FormatHora] 
(@Segundos float) 
RETURNS varchar(50) AS 
BEGIN 
        DECLARE @RES VARCHAR(50) 
        DECLARE @HORAS FLOAT 
        DECLARE @MINS FLOAT 
        DECLARE @SEGS FLOAT 
        DECLARE @RESTO FLOAT 

        SET @HORAS = @Segundos /60/60 
        SET @RESTO = @HORAS - FLOOR(@HORAS) 
        --LISTO HORAS 
        SET @HORAS = FLOOR(@HORAS) 

        SET @MINS = @RESTO * 60 
        SET @RESTO = @MINS - FLOOR(@MINS) 
        --LISTO MINS 
        SET @MINS = FLOOR(@MINS) 

        SET @SEGS = @RESTO * 60 

        SET @RES = CAST(@HORAS as varchar) + ':' + right('00'+cast(@MINS as 
varchar),2) + ':' + right('00'+cast(@segs as varchar),2) 
        RETURN @RES 
END

Utilizando la conulta anterior..
Código SQL [-]
Declare @Fecha as smalldatetime
Declare @FechaM as smalldatetime
--Sacamos la Maxima Fecha Actual...
  Set @Fecha=(Select Max(FechaControl)
                From Control)    
--Obtenemos la Fecha de 4 meses Atraz...     
  Set @FechaM=(DATEADD(mm, -4, @Fecha) ) 
Select Tiempo.div,Tiempo.DivName,Semana=dbo.ft_ieo_ObtenerSemana(Tiempo.FechaControl),
       Times=dbo.FormatHora( SUM(DATEDIFF(s, CAST('00:00:00'AS datetime), CAST(Tiempo.TCD as datetime)))) , 
       Anio=0
  From(Select a1.div,DivName=Case a1.div When 42 Then 'MENDOZA'
                                         When 43 Then 'CORDOVA'     
                                         When 44 Then 'BUENOS AIRES' End,    
              A1.LocName as Origen, A.LocOrigen,A2.LocName as Destino, A.LocDestino,A.HrEntrada,A.HrSalida,A.FechaControl ,
              TCD=cast( (A.HrSalida - A.HrEntrada) as datetime)--,
              --TCD=left(convert(varchar,(A.HrSalida - A.HrEntrada), 108), 8)
         From Control A
        Inner Join LocNames  As A1
           On A1.Loc=A.LocOrigen 
        Inner Join LocNames  As A2
           On A2.Loc=A.LocDestino
        Where A.FechaControl >=@FechaM) Tiempo 
  Group By Tiempo.div,Tiempo.DivName,dbo.ft_ieo_ObtenerSemana(Tiempo.FechaControl)

muchas gracias por su ayuda..
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sumar Horas con RAVE zerelho Impresión 2 27-07-2005 13:25:32
sumar horas rober Varios 14 10-06-2004 01:30:57
sumar horas y minutos acrophet Varios 1 29-01-2004 17:29:46
Sumar Horas?? YolandaM Varios 4 09-11-2003 09:21:46


La franja horaria es GMT +2. Ahora son las 02:52:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi