SQL - 将GETDATE()转换为完整的小时

时间:2017-06-12 15:53:57

标签: sql tsql datetime getdate

我是这样的:

SELECT GETDATE()

这给了我:

2017-06-12 16:51:50.410

我如何转换它以获得:

2017-06-12 16:00:00.000

我有一些流程,而且我正在注册工作的日期和时间,但我只想要正好一小时。

我该怎么做?

由于

2 个答案:

答案 0 :(得分:4)

要将getdate()截断为小时:

select dateadd(hour, datediff(hour, 0, getdate() ), 0)

这会将1900-01-01后的小时数添加到日期1900-01-01

您还可以将hour换成其他级别的截断:年,季,月,日,分,秒等。

答案 1 :(得分:-1)

我认为最易读的解决方案是:

SELECT convert(datetime,FORMAT(GETDATE(),'yyyy-MM-dd HH:00:00.000'))
  • FORMAT以获得您想要的GETDATE时间戳。

  • CONVERT以确保数据类型为日期时间。