从日期开始只选择几小时

时间:2017-11-18 12:48:34

标签: sql sql-server

以下查询以此格式2017-11-18 16:00:00.000

返回值

我如何才能在几小时内返回值

所需格式

16:00:00.000
17:00:00.000
18:00:00.000

查询

SELECT DATEADD(Hour, DATEDIFF(Hour, 0, GetDate()), 0)

1 个答案:

答案 0 :(得分:3)

您可以将值转换为time

SELECT CONVERT(TIME, DATEADD(Hour, DATEDIFF(Hour, 0, GetDate()), 0))

我更倾向于将逻辑编写为:

SELECT dateadd(hour, datepart(hour, getdate()), cast('00:00' as time))

确实没有区别。 。 。只是向'00:00'添加一定数小时的逻辑似乎更简单。