获得每月的日和星期

/**                                      
CreateDate :2008/10/10
Auther :张玉刚
Name :dbo.proc_每月日期星期几
--Paramerter--
Input:@a
Output:None
Return:

Server :
DB :

Table :
App :
App :
--内容
--输入年月后列出该月的所有日和对应的星期
*
*/

alter proc dbo.proc_每月日期星期几

@a varchar(20)
as
declare @table table(a int,b varchar(20))
declare @b varchar(20)
declare @d varchar(20)
declare @c int
set @b=left(@a,5) --取得年
select @d=right(@a,2)+1 --取得月
if @d =13
set @d='01'
set @d=@b+@d

--取得该月的最大天数
select @c=datediff(d,convert(datetime,@a+'/01'),dateadd(d,-1,convert(datetime,@d+'/01')))+1

declare @i varchar(20)
set @i='01'

while (@i<=@c)
begin
insert
@table
--把日和星期几写入表中
select @i,datename(weekday,convert(datetime,@a+'/'+@i))+N''
set @i=@i+1
end

select * from @table

原文地址:https://www.cnblogs.com/wequst/p/1308168.html