存储过程中传入月份(如2019-06),遍历一个月份中的每一天 ,并列转行

灌木子 2019-09-23 04:48:30
存储过程中传入月份(如2019-06),遍历一个月份中的每一天 ,并列转行
...全文
29 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
文盲老顾 2019-09-23
declare @dt date,@first date,@days int,@sql nvarchar(max)

set @dt = '2019-6-8'

select @first = dateadd(d,-datepart(d,@dt)+1,@dt),@days=31-datepart(d,dateadd(d,31,@first))

select @sql = 'select * from (select dateadd(d,number,@first) as dt,number+1 as dayNumber from master..spt_values where type=''p'' and number<=@days) a pivot(max(dt) for dayNumber in ('
	+ stuff((
		select ',['+convert(varchar,number+1)+']' from master..spt_values where type='p' and number<=@days for xml path('')
	),1,1,'')+')) p'

exec sp_executesql @sql,N'@first date,@days int',@first=@first,@days=@days
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2019-09-23 04:48
社区公告
暂无公告