如何将分钟的时间值舍入为小时?

时间:2017-02-16 10:55:43

标签: sql tsql

我正在尝试将UTC时间转换为pst时间,我能够做到。但是我想要完成会议纪要。值为' 00:00:00'。

我写的:

 SELECT  [TASK_NUMBER]
  , dateadd(hour,datediff(hour,getdate(),dateadd(mi,30,START_TIME),START_TIME),getutcdate()) as START_TIME
  , dateadd(hour,datediff(hour,getdate(),dateadd(mi,30,END_TIME),END_TIME),getutcdate()) as END_TIME
  from table1

输入:

 2017-02-01 12:44:15.160   ||  2017-02-01 23:44:15.160

 2017-02-01 13:44:15.160   ||  2017-02-03 02:44:15.160

输出:

 2017-02-01 12:00:00   ||  2017-02-01 23:00:00

 2017-02-01 13:00:00   ||  2017-02-03 02:00:00

4 个答案:

答案 0 :(得分:1)

width:calc((50% - 2px));

答案 1 :(得分:1)

这不是四舍五入,而是切断,这是一种方式:

select top 100 cast((cast(cast(START_TIME as date) as char(10)) + ' ' + cast(cast(START_TIME as time) as char(3)) + '00:00') as datetime) from tablename

答案 2 :(得分:1)

如果2012 +

,一个选项是格式()
Select Format(START_TIME,'yyyy-MM-dd HH:00:00')
      ,Format(END_TIME,'yyyy-MM-dd HH:00:00')
 From  YourTable

或者您可以使用简单的convert()

Select convert(varchar(13),START_TIME,121)+':00:00'
      ,convert(varchar(13),END_TIME,121)  +':00:00'
 From  YourTable

返回

2017-02-01 12:00:00    2017-02-01 23:00:00
2017-02-01 13:00:00    2017-02-03 02:00:00

答案 3 :(得分:1)

SELECT  DATEADD(HOUR, 
    DATEPART(HOUR, START_TIME), 
    CAST(FLOOR(CAST(START_TIME AS FLOAT)) AS DATETIME)) 
FROM table1