SQL - 将 GETDATE() 转换为准确的小时
SQL - Transform GETDATE() into the exactly hour
我有这个:
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'))
格式化以获得您想要的 GETDATE 时间戳。
CONVERT 以确保数据类型是日期时间。
我有这个:
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'))
格式化以获得您想要的 GETDATE 时间戳。
CONVERT 以确保数据类型是日期时间。