我正在尝试使用 DATEADD 函数在 SQL SERVER 中添加几个小时。但是当我尝试这个时,
SELECT DATEADD(Hour, 0.5, GETDATE())
它没有增加 0.5 小时。如何解决这个问题?
我正在尝试使用 DATEADD 函数在 SQL SERVER 中添加几个小时。但是当我尝试这个时,
SELECT DATEADD(Hour, 0.5, GETDATE())
它没有增加 0.5 小时。如何解决这个问题?
你不能。它在文档中很好地描述了:DATEADD (Transact-SQL)
数字
是一个表达式,可以解析为添加到日期的日期部分的 int。用户定义的变量是有效的。
如果您指定带有小数的值,则该小数将被截断而不是四舍五入。
更新
你可以试试:
SELECT DATEADD(Second, 0.5 * 60 * 60, GETDATE())
当然 - 您可以更改DATEPART
和乘数以获得所需的精度。
您不能添加部分小时数,只能添加完整小时数。使用minute
半小时
SELECT DATEADD(minute, 30, GETDATE())
我找到了另一种方法,在日期中添加一个数字而不是使用该函数适用于分数。例如:
GETDATE() + n
其中n 是天数。在 1 个半小时内,您可以使用:
GETDATE() + 0.5/24