获取 sql 中选定日期后 24 小时内的所有数据

Get all data for the next 24 hours from selected date in sql

我正在尝试获取从选定日期起接下来的 24 小时内的所有数据。我不想提取 2015 年 3 月 12 日之前的任何数据,但我需要从 2015 年 3 月 12 日起接下来的 24 小时内的所有数据。我知道我必须自己加入 table,但不知道该怎么做。下面的查询从所选日期提取过去 24 小时,但我需要相反的时间,即接下来的 24 小时。请帮助

select 
    mt1.ID, mt1.Name, mt1.FullDateTime
from 
    myTable mt1
inner join 
    myTable mt2 on mt1.FullDateTime between DATEADD(hour, -24, mt2.FullDateTime) and mt2.FullDateTime 
                and mt2.selectedDate = 3/13/2015

您不需要使用任何连接。 试试这个:

DECLARE @SelectedDate date
SET @SelectedDate = '3/13/2015'

SELECT ID, 
       Name, 
       FullDateTime
FROM myTable 
WHERE FullDateTime BETWEEN @SelectedDate AND DATEADD(HH, 24, @SelectedDate)

尝试使用 Date ADD

例如:

DECLARE @SelectedDate datetime
SET @SelectedDate = getdate()

select dateadd(hour,24,@SelectedDate)

你的查询应该是这样的。

DECLARE @SelectedDate date
SET @SelectedDate = '2015-03-15 15:05:20.533'
SELECT ID, 
       Name, 
       FullDateTime
FROM myTable 
WHERE FullDateTime>=@SelectedDate AND FullDateTime<=DATEADD(hour,24,@SelectedDate)