工作中用到了這樣一段,所以就干脆記下來,下面只是一段sql語句,也可以改成函數這樣更方便,不過我覺得這樣也很好用了.
declare @initday varchar(10)
declare @endday varchar(10)
set @initday='2008/01/01'
set @endday='2008/06/30'
declare @i datetime
select @i=convert(datetime,@initday)
while(@i<=convert(datetime,@endday))
begin
insert into calendar(ymd,weekstr) values( convert(varchar(10),@i,111),datename(weekday,@i) )
set @i=dateadd(day,1,@i)
end
declare @endday varchar(10)
set @initday='2008/01/01'
set @endday='2008/06/30'
declare @i datetime
select @i=convert(datetime,@initday)
while(@i<=convert(datetime,@endday))
begin
insert into calendar(ymd,weekstr) values( convert(varchar(10),@i,111),datename(weekday,@i) )
set @i=dateadd(day,1,@i)
end
添加進calendar表中的內容格式如下:
2008/01/01 星期二
2008/01/02 星期三
2008/01/03 星期四
.......
本文介绍了一种使用SQL语句批量生成指定区间内的日期,并将这些日期及其对应的星期名称插入到数据库表中的方法。通过声明变量并利用循环结构,可以有效地完成从起始日期到结束日期之间的所有日期记录的创建。

被折叠的 条评论
为什么被折叠?



