none
Suma filas de una columna del tipo datetime RRS feed

  • Pregunta

  • hola amigos,

    en esta oportunidad quisiera saber como podría sumar varias filas de una misma columna del tipo datetime.

    tengo el query 

    select 
    cast([dbo].[DIFFTIME](isnull(EndDatetime,StartDatetime),StartDatetime) as varchar(8) 
    )as TotalTime
    from historysessioncrm HS
    inner join Person PE on PE.person_id=HS.idAgent
    where HS.idagent=1100368 and HS.iddisposition=2

    el resultado que me trae es el siguiente:

    TotalTime

    00:00:05
    00:00:04
    00:00:04

    lo que quiero hacer es sumar todas las filas del resultado para que se muestra en una sola fila.

    gracias de antemano

    jueves, 10 de mayo de 2018 15:15

Respuestas

  • Hola alcri:

    Tienes varias opciones.

    create table historysessioncrm (startDatetime datetime, endDateTime datetime)
    go
    
    
    insert into historysessioncrm (startDatetime, endDateTime) values 
    ('20180501 09:00:00','20180501 09:00:05'),
    ('20180501 09:00:00','20180501 09:00:12'),
    ('20180501 09:00:00','20180501 09:01:27'),
    ('20180501 09:00:00','20180501 10:04:05'),
    ('20180501 09:00:00','20180501 12:00:05')
    
    
    		
    			select 
    				SUBSTRING(
    					convert(
    						varchar,dateadd(ss,(sum(DATEDIFF(second,startDateTime, endDateTime))),'19000101')
    						,120)
    					,11,11
    					) as tiempo
    				 from historysessioncrm
    

    Puedes cambiar el punto de inicio del substring por 9 en vez de 11 para que te de el día.

    Realmente siempre depende de lo que quieras obtener y como lo quieras obtener. (Si tiene más de un día...sigues sumando horas, o muestras un dia y xx horas....

    Esta documentado en este post, algunas de las posibles, vías.

    Como ves, yo he quitado tu Difftime.. y lo he sustituido por una tabla simple.

    https://social.technet.microsoft.com/Forums/en-US/de4c470c-f272-4e64-b3d6-002755bd7fef/convertir-segundos-a-hora-minutos-segundos?forum=sqlserveres

    Espero te sirva, sino comentas un poco más que seguro que se puede hacer algo.

    Un saludo

    • Marcado como respuesta alcri jueves, 10 de mayo de 2018 20:48
    jueves, 10 de mayo de 2018 19:25