2

我正在尝试使用 DATEADD 函数在 SQL SERVER 中添加几个小时。但是当我尝试这个时,

SELECT DATEADD(Hour, 0.5, GETDATE()) 

它没有增加 0.5 小时。如何解决这个问题?

4

3 回答 3

11

你不能。它在文档中很好地描述了:DATEADD (Transact-SQL)

数字

是一个表达式,可以解析为添加到日期的日期部分的 int。用户定义的变量是有效的。

如果您指定带有小数的值,则该小数将被截断而不是四舍五入。

更新

你可以试试:

SELECT DATEADD(Second, 0.5 * 60 * 60, GETDATE()) 

当然 - 您可以更改DATEPART和乘数以获得所需的精度。

于 2013-04-07T11:05:22.733 回答
4

您不能添加部分小时数,只能添加完整小时数。使用minute半小时

SELECT DATEADD(minute, 30, GETDATE()) 
于 2013-04-07T11:04:45.673 回答
0

我找到了另一种方法,在日期中添加一个数字而不是使用该函数适用于分数。例如:

GETDATE() + n

其中n 是天数。在 1 个半小时内,您可以使用:

GETDATE() + 0.5/24
于 2019-11-01T14:59:46.767 回答