读书人

然后构造出 一个日期段内的 周六,周日

发布时间: 2012-03-18 13:55:38 作者: rapoo

然后构造出 一个日期段内的 周六,周日 的 日期
构造出 一个日期段内的 周六,周日 的 日期

例如 构造出 从2010-10-01 至 2010-10-31 周六,周日 的 日期 ,得到结果是

日期, 星期
2010-10-02 星期六
2010-10-09, 星期六
2010-10-16, 星期六
2010-10-23, 星期六
2010-10-30, 星期六


是构造数据, 不是 from 表

[解决办法]

SQL code
if object_id('proc_test') is not null drop procedure proc_testgocreate procedure proc_test@starttime datetime,@endtime datetimeasbegin    select 日期=convert(varchar(10),date,120),星期=week    from (        select date=dateadd(dd,number,@starttime),week=datename(weekday,dateadd(dd,number,@starttime))        from master..spt_values where type='p' and dateadd(dd,number,@starttime)<@endtime    )t where week='星期六'endgoexec proc_test '2010-10-01','2010-10-31'/*日期    星期-----------------------2010-10-02    星期六2010-10-09    星期六2010-10-16    星期六2010-10-23    星期六2010-10-30    星期六*/
[解决办法]
SQL code
我稍改一下if object_id('proc_test') is not null drop procedure proc_testgocreate procedure proc_test@starttime datetime,@endtime datetimeasbegin    select 日期=convert(varchar(10),date,120),星期=week    from (        select date=dateadd(dd,number,@starttime),week=datename(weekday,dateadd(dd,number,@starttime))        from master..spt_values where type='p' and number between 0 and datediff(day,@starttime,@endtime)    )t where week='星期六'endgoexec proc_test '2010-10-01','2010-10-31' 

读书人网 >SQL Server

热点推荐