27,579
社区成员
发帖
与我相关
我的任务
分享
需求:
我有一张表叫 test ,里面有个字段是 datetime,
我希望能够查询到时间段为:2014/07 到2015/05 的数据,
时间段是作为条件动态传递进去的。
select * from test where datetime where ……
请各位大神帮忙,谢谢。
DECLARE @bdt nvarchar(7),
@edt nvarchar(7)
-- set @bdt = '2014/07'
-- set @edt = '2015/05'
select *
from test
where [datetime] >= convert(datetime, @bdt+'/01')
and [datetime] < DATEADD(month, 1, convert(datetime, @edt+'/01'))
DECLARE @bedates nvarchar(7),
@enddates nvarchar(7)
select * from test
where CONVERT(VARCHAR(7),[DATETIME],111)
BETWEEN @bedates AND @enddates
DECLARE @bedates DATETIME,
@enddates datetime
select * from test where [DATETIME] BETWEEN CONVERT(VARCHAR(7),@bedates,111) AND CONVERT(VARCHAR(7),@enddates,111)
select *
from test
where [datetime] >= @start+'/01'
and [datetime] >= DATEADD(month,1,@end+'/01')