这是我的表
T_idx T_Tag T_Date
1 x 2014-03-15 23:58:00.000
2 y 2014-03-15 23:57:00.000
. . .
.
. . .
.
555 xy 2014-03-15 5:10:00.000
从上表中,我希望每天早上5:30到6:30之间看到数据
你能不能请任何人建议我获取数据的查询。
答案 0 :(得分:0)
您可以在SQL Server 2005中以这种方式执行此操作:
select * from mytable
where convert(datetime, convert(char(5), T_Date, 108)) >= '5:30'
and convert(datetime, convert(char(5), T_Date, 108)) <= '6:30'
在SQL Server 2008及更高版本中,您只需将其强制转换为time
数据类型:
select * from mytable
where convert(time, T_Date) >= '5:30'
and convert(time, T_Date) <= '6:30'
答案 1 :(得分:0)
试试这个
SET @start_date = DATEADD(minutes,30,DATEADD(hour, 5, DATEDIFF(DAY, 2, GETDATE())))
SET @end_date = DATEADD(hour, -1, @start_date)
SELECT
T_idx, T_Tag
FROM
YourTable
WHERE
T_Date BETWEEN @start_date AND @end_date