将指定日期所在月份的所有日期按照周次输出
具体示例如下:
declare @i int-----------------------------计数器
declare @curWk int-------------------------指定日期在该年的周数
declare @fstWk int-------------------------每月一号在该年的周数
declare @fstDay nvarchar(10)---------------每月的第一天
declare @lstDay nvarchar(10)---------------每月的最后一天
declare @tmpDay smalldatetime--------------每周日的日期
declare @date smalldatetime----------------指定的日期
declare @tmpDay1 smalldatetime-------------每周六的日期
set @date = '2007-9-1'
select @fstDay=(cast(year(@date) as nvarchar(4))+'-'+ cast(month(@date) as nvarchar(2))+'-'+'1')
set @fstDay = Convert(nvarchar(10),cast(@fstDay as smalldatetime),120)
--print '本月第一天:'+@fstDay
set @fstWk = datepart(wk,@fstDay)
--print '本月第一周:'+str(@fstWk)
set @lstDay = Convert(nvarchar(10),dateadd(d,-1,dateadd(m,1,@fstDay)),120)
--print '本月最后一周:'+@lstDay
set @i=0
----找出跟上个月同一周的日期
while(@i<8)
begin
set @tmpDay = dateadd(dd,@i,@fstDay)
set @curWk = datepart(wk,@tmpDay)
if @curWk>@fstWk
begin
--print @tmpDay
break
end
一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。