如何从SYSDATETIME()减去18个小时

时间:2016-11-30 20:49:05

标签: sql sql-server

尝试获得一天,比当前时间减少1/2。在Oracle中,这可以正常工作,但是在Microsoft中执行此操作时出现错误。

这是我的代码:

and dataDate.DateValue > SYSDATETIME() - 1.5

我的错误:

Operand type clash: datetime2 is incompatible with numeric

2 个答案:

答案 0 :(得分:5)

如果您想减去18小时,请使用dateadd()

select dateadd(hour, -18, sysdatetime())

请注意,Oracle中的代码减少了36小时,而不是18小时。

答案 1 :(得分:0)

  select DATEADD(HOUR, -18,GETDATE())

对我来说也很好!