使用SQL获取从选定日期算起的最后24小时
我试图先运行子查询以获取特定的日期,然后我想使用该日期作为起点来获取该日期后的最后24小时。下面是我想首先作为子查询运行的查询使用SQL获取从选定日期算起的最后24小时,sql,sql-server,tsql,Sql,Sql Server,Tsql,我试图先运行子查询以获取特定的日期,然后我想使用该日期作为起点来获取该日期后的最后24小时。下面是我想首先作为子查询运行的查询 select ID, FullDatetime from myTable where selectedDate = 0900 and DT = CONVERT(date, getdate()) 然后,我想使用上面查询的结果从所选日期生成最后24小时。请注意,所有数据都在同一个表中。我想运行另一个查询,该查询提供上述选定日期的最后24小时。FullDatetime的数
select ID, FullDatetime from myTable
where selectedDate = 0900 and DT = CONVERT(date, getdate())
然后,我想使用上面查询的结果从所选日期生成最后24小时。请注意,所有数据都在同一个表中。我想运行另一个查询,该查询提供上述选定日期的最后24小时。FullDatetime的数据类型为datetime。请帮忙。谢谢您可以使用子查询两次来获取筛选日期所基于的日期:
SELECT * FROM myTable
WHERE datevalue BETWEEN (SELECT TOP 1 selectedDate FROM myTable WHERE a = b)
AND DATEADD(hh, -24, (SELECT TOP 1 selectedDate FROM myTable WHERE a = b))
我想您也可以通过直接计算来完全避免查询:
select dateadd(hh, -15, {fn current_date()})
使用DATEDIFF或DateAdd您尝试了什么?SelectedDate是要与900进行比较的字符串还是数字类型?关于军事时间过去24或48小时的问题太多了;声明@FullDateTime为DateTime;从myTable中选择@Id=Id、@FullDateTime=FullDateTime,其中selectedDate=0900+0和DT=CONVERTdate、getdate;选择哪里还是要加入子查询以允许多个结果?谢谢,但我需要先运行子查询,并使用子查询中的selectedDate作为起点来生成我在初始帖子中发布的最后24小时
select dateadd(hh, -15, {fn current_date()})