日期:2014-05-18  浏览次数:20709 次

sql server 得到某个日期到现在为止的每月1号到3号,15号到17号
如何得到某个日期到现在为止的每月1号到3号,15号到17号的sql   语句?

------解决方案--------------------
如何要用存储过程的话可将@startime作为参数,另外指定日期比较准确的话还可以删除里面多余记录:
declare @startime datetime
declare @endtime datetime
declare @strtime varchar(20)
CREATE TABLE #t(userdate varchar(50))


set @startime = '1990-1-1 '
set @endtime=getdate()
while (@startime <@endtime)
begin
set @strtime=Convert(varchar(4),year(@startime))+ '- '+Convert(varchar(2),month(@startime))
insert into #t values (@strtime+ '-3 ')
insert into #t values (@strtime+ '-4 ')
insert into #t values (@strtime+ '-5 ')
insert into #t values (@strtime+ '-15 ')
insert into #t values (@strtime+ '-16 ')
insert into #t values (@strtime+ '-17 ')
set @startime=DATEADD(Month,1,@startime)
end
delete from #t where Convert(datetime,userdate)> getdate()
select * from #t
drop TABLE #t

不知道符不符lz的要求呢?