【发布时间】:2017-06-12 15:53:57
【问题描述】:
我有这个:
SELECT GETDATE()
这给了我:
2017-06-12 16:51:50.410
如何转换才能得到:
2017-06-12 16:00:00.000
我有一些流程,我正在注册工作的日期和时间,但我只想要确切的时间。
我该怎么做?
谢谢
【问题讨论】:
我有这个:
SELECT GETDATE()
这给了我:
2017-06-12 16:51:50.410
如何转换才能得到:
2017-06-12 16:00:00.000
我有一些流程,我正在注册工作的日期和时间,但我只想要确切的时间。
我该怎么做?
谢谢
【问题讨论】:
要将getdate() 截断为小时:
select dateadd(hour, datediff(hour, 0, getdate() ), 0)
这会将自1900-01-01 到日期1900-01-01 的小时数相加。
您还可以将hour 交换为其他级别的截断:年、季度、月、日、分钟、秒等。
【讨论】:
我认为最易读的解决方案是:
SELECT convert(datetime,FORMAT(GETDATE(),'yyyy-MM-dd HH:00:00.000'))
FORMAT 以获得您想要的 GETDATE 时间戳。
CONVERT 以确保数据类型是日期时间。
【讨论】: