我有一个问题,
我需要一个与我的项目相关的脚本,它应该是,
表Table_Day
包含2016年的所有日期(即20160101,20160102,......)
对于每一天,我必须插入6个personal_id。
喜欢这个
'date_id' 'personal_id'
“20160101” “1001”,“20160101” “1002”,“20160101” “1003”,“20160101” “1004”,“20160101” “1005”,“20160101” “1006”--for example
“20160102” “1001”
“20160102” “1002”
“20160102” “1003”
“20160102” “1004”
“20160102” “1005”
“20160102” “1006”
我希望将这些数据插入到2016年底(Table_day
的日期参考)。
答案 0 :(得分:0)
您可以使用以下查询来循环日期并完成作业:
declare @firstofmonth as smalldatetime
declare @endofmonth as smalldatetime
--Set the inital month to loop
set @firstofmonth = '01/01/2016'
set @endofmonth = '12/31/2016'
WHILE @firstofmonth >= '01/01/2016' --This would be the condition to end the loop
Begin
---Check here if dates exist in dates table and do insert
Insert into Table_Day (blah blah black sheep)
--Increment Date
SET @firstofmonth = DateAdd(m,1,@firstofmonth)
SET @endofmonth = DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,@firstofmonth())+1,0))
End
这是我搜索looping dates in sql
时出现的第一个堆栈溢出结果以上只是一种使用循环来获取特定日期然后插入的方法。