在存储过程里面 有两个参数 一个开始日期,一个截至日期
我想得到一个表,这个表只有两列 一列自增,一列就是日期
比如
开始日期为2009-08-01 截至日期为2009-08-05 那么记录就为
id 日期
1 2009-08-01
2 2009-08-02
3 2009-08-03
4 2009-08-04
5 2009-08-05
越简单越好 谢谢先!
------解决方案--------------------------------------------------------
http://topic.csdn.net/u/20090906/17/a91cd31e-abf7-4190-8486-c5491aa63c71?seed=1380177511&r=59598572#r_59598572
------解决方案--------------------------------------------------------
==
------解决方案--------------------------------------------------------
可以参考一楼的。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
- SQL code
if(object_id('p_test')>0)drop proc p_testgocreate proc p_test (@date1 datetime,@date2 datetime)asbegin select number=number+1,convert(varchar(10),@date1+number,120) from master..spt_values where type='p' and @date1+number<=@date2end goexec p_test '2009-01-01','2009-01-10'/*1 2009-01-012 2009-01-023 2009-01-034 2009-01-045 2009-01-056 2009-01-067 2009-01-078 2009-01-089 2009-01-0910 2009-01-10*/
------解决方案--------------------------------------------------------
- SQL code
declare @date datetimeset @date='2009-02-05'select [day]=convert(varchar(6),@date,112)++right('0'+ltrim(number),2)from master..spt_valueswhere type='p' and number >=1 and number <= datediff(dd,@date,dateadd(month,1,@date))
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
- SQL code
declare @begin datetime,@end datetimeselect @begin='2009-08-01',@end='2009-08-05' select id=number+1,日期=dateadd(dd,number,@begin) from master..spt_valueswhere type='p' and number between 0 and datediff(dd,@begin,@end)/*id 日期 ----------- ------------------------------------------------------ 1 2009-08-01 00:00:00.0002 2009-08-02 00:00:00.0003 2009-08-03 00:00:00.0004 2009-08-04 00:00:00.0005 2009-08-05 00:00:00.000(所影响的行数为 5 行)*/
------解决方案--------------------------------------------------------
- SQL code
declare @begin datetime,@end datetimeselect @begin='2009-08-01',@end='2009-08-05' select id=number+1,日期=convert(varchar(10),dateadd(dd,number,@begin),120) from master..spt_valueswhere type='p' and number between 0 and datediff(dd,@begin,@end)/*id 日期 ----------- ---------- 1 2009-08-012 2009-08-023 2009-08-034 2009-08-045 2009-08-05(所影响的行数为 5 行)*/
------解决方案--------------------------------------------------------
这个例子很多,我蹭分了
------解决方案--------------------------------------------------------