获取 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)
我正在尝试获取从选定日期起接下来的 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)