DateDiff to output hours and minutes

后端 未结 12 2011
半阙折子戏
半阙折子戏 2020-12-09 09:47

my code gives TOTAL HOURS in hours, but i am trying to output something like

TotalHours 
  8:36

where 8 represents hour part and 36 repres

12条回答
  •  清歌不尽
    2020-12-09 10:14

    Try this query

    select
        *,
        Days          = datediff(dd,0,DateDif),
        Hours         = datepart(hour,DateDif),
        Minutes       = datepart(minute,DateDif),
        Seconds       = datepart(second,DateDif),
        MS            = datepart(ms,DateDif)
    from
        (select
             DateDif = EndDate-StartDate,
             aa.*
         from
             (  -- Test Data
              Select
                  StartDate = convert(datetime,'20090213 02:44:37.923'),
                  EndDate   = convert(datetime,'20090715 13:24:45.837')) aa
        ) a
    

    Output

    DateDif                  StartDate                EndDate                 Days Hours Minutes Seconds MS
    -----------------------  -----------------------  ----------------------- ---- ----- ------- ------- ---
    1900-06-02 10:40:07.913  2009-02-13 02:44:37.923  2009-07-15 13:24:45.837 152  10    40      7       913
    
    (1 row(s) affected)
    

提交回复
热议问题