从当前日期时间减去小时数并与数据类型为日期时间的列值进行比较
Subtract hours from current date time and compare to column value whose data type is datetime
我想要在过去一小时内添加到 table 的所有 MAFN
列值 (:mm)。 ReturnDt
列存储以 DateTime 格式添加的时间,例如 '2005-01-11 08:50:24.767'
我可以获得 ReturnDt
的小时数和当前小时数(在两个单独的查询中)。
SELECT ReturnDt,
DATEPART(hour, ReturnDt) As
FROM [Sidney].[dbo].[LibraryTransactions]
和
SELECT GETDATE() 'Today', DATEPART(hh,GETDATE()) 'Hour Part'
但由于显而易见的原因,这还不够。
首先 SELECT GETDATE()...
不能用作子查询。
其次,我似乎无法从 SELECT GETDATE()
查询的结果中减去 1 小时。
第三,即使以上两个以某种方式起作用,查询也会将时间减少到几个小时并且不考虑日期。
我正在使用 SQl Server 2005
提前致谢!
编辑:
table 看起来像:
预期结果:如果我今天(2022 年 3 月 18 日)在 16:00 小时 运行 查询,我应该只会得到这些值
DateDiff() 怎么样
where
DateDiff( hour, ReturnDT, getdate() ) > 1
我想要在过去一小时内添加到 table 的所有 MAFN
列值 (:mm)。 ReturnDt
列存储以 DateTime 格式添加的时间,例如 '2005-01-11 08:50:24.767'
我可以获得 ReturnDt
的小时数和当前小时数(在两个单独的查询中)。
SELECT ReturnDt,
DATEPART(hour, ReturnDt) As
FROM [Sidney].[dbo].[LibraryTransactions]
和
SELECT GETDATE() 'Today', DATEPART(hh,GETDATE()) 'Hour Part'
但由于显而易见的原因,这还不够。
首先 SELECT GETDATE()...
不能用作子查询。
其次,我似乎无法从 SELECT GETDATE()
查询的结果中减去 1 小时。
第三,即使以上两个以某种方式起作用,查询也会将时间减少到几个小时并且不考虑日期。
我正在使用 SQl Server 2005
提前致谢!
编辑:
table 看起来像:
预期结果:如果我今天(2022 年 3 月 18 日)在 16:00 小时 运行 查询,我应该只会得到这些值
DateDiff() 怎么样
where
DateDiff( hour, ReturnDT, getdate() ) > 1