select * from tb where datediff(dd,日期字段,getdate()) between 0 and 14
declare @t datetime set @t=getdate() if day(@t)>15 select * from tb where 时间字段 between dateadd(mm,-1,convert(varchar(7),@t,120)+'15') and @t else select * from tb where 时间字段 convert(varchar(7),@t,120)+'15' and @t
declare @t datetime set @t=getdate() if day(@t)>15 select * from tb where 时间字段 between dateadd(mm,-1,convert(datetime,convert(varchar(8),@t,120)+'1')) and @t else select * from tb where 时间字段 between convert(datetime,convert(varchar(8),@t,120)+'1')and @t--试试这个
declare @t datetime set @t=getdate() if day(@t)>15 select * from tb where 时间字段 between dateadd(mm,-1,convert(datetime,convert(varchar(8),@t,120)+'15')) and @t else select * from tb where 时间字段 between convert(datetime,convert(varchar(8),@t,120)+'15')and @t--应该是15
本帖最后由 josy 于 2012-07-05 13:51:03 编辑
declare @endDate datetime=getdate(),@startDate datetime select top 1 @startDate=日期字段 from dt where DAY(日期字段)=15 and 日期字段<@endDate order by 日期字段 desc select * from dt where 日期字段 between @startDate and @endDate
set @t=getdate()
if day(@t)>15
select * from tb where 时间字段 between dateadd(mm,-1,convert(varchar(7),@t,120)+'15') and @t
else
select * from tb where 时间字段 convert(varchar(7),@t,120)+'15' and @t
set @t=getdate()
if day(@t)>15
select * from tb where 时间字段 between dateadd(mm,-1,convert(datetime,convert(varchar(8),@t,120)+'1')) and @t
else
select * from tb where 时间字段 between convert(datetime,convert(varchar(8),@t,120)+'1')and @t--试试这个
set @t=getdate()
if day(@t)>15
select * from tb where 时间字段 between dateadd(mm,-1,convert(datetime,convert(varchar(8),@t,120)+'15')) and @t
else
select * from tb where 时间字段 between convert(datetime,convert(varchar(8),@t,120)+'15')and @t--应该是15
select top 1 @startDate=日期字段 from dt
where DAY(日期字段)=15 and 日期字段<@endDate order by 日期字段 desc
select * from dt where 日期字段 between @startDate and @endDate