Sql 如何在日期之间查找状态
我有这样的桌子:Sql 如何在日期之间查找状态,sql,sql-server,datetime,Sql,Sql Server,Datetime,我有这样的桌子: Number |Status |Start_Date ------------------------------------ A |Active |2016-11-29 22:51 A |blocked |2016-12-20 22:51 A |Active |2017-01-09 22:51 A |blocked |2017-01-29 22:51 我的目标是在声明日期时,查找Anum
Number |Status |Start_Date
------------------------------------
A |Active |2016-11-29 22:51
A |blocked |2016-12-20 22:51
A |Active |2017-01-09 22:51
A |blocked |2017-01-29 22:51
我的目标是在声明日期时,查找A
number上的状态
例如:
Declare @Date varchar(25)='2017-01-10 12:40'
结果:
Number |Status |Date
------------------------------------
A |Active |2017-01-10 12:40
因为2017-01-10 12:40
介于2017-01-09 22:51
和2017-01-29 22:51
然后状态为激活状态
但是我不知道如何查找Declare Date的状态您可以通过执行以下操作来查找单个“编号”的状态:
select top 1 t.*
from likethis t
where t.date <= @date
order by t.date desc;
您将要选择上一个:
select top 1 * from table
where Date <= @Date
and Number = 'A'
order by Date desc
从表中选择前1*
在哪里约会
select top 1 * from table
where Date <= @Date
and Number = 'A'
order by Date desc