日期:2014-05-18  浏览次数:20643 次

字符串转换日期
字符串2007-02   怎么转换成每一天,把月份加上一个月进行转换成每一天,就是2007-03月,转换成每一天?

------解决方案--------------------
-----------------------------
--输入的参数.
declare @input varchar(10)
set @input = '2007-2 '
set @input = @input + '-1 '
----------------------------

declare @t table(y varchar(4), m varchar(2), d varchar(2))
declare @y int
declare @m int
declare @d int
set @y = year(@input)
set @m = month(@input)
set @d = day(@input)

if @m = 1 or @m = 3 or @m = 5 or @m = 7 or @m = 8 or @m = 10 or @m = 12
begin
set @d = 31
end

if @m = 4 or @m = 6 or @m = 9 or @m = 11
begin
set @d = 30
end

if @m = 2
begin
if isdate(convert(varchar, @y) + '-2-29 ') = 1 --判断当前年2月是否是闰年
set @d = 29
else
set @d = 28
end
-----------
while @d > 0
begin
insert into @t select @y, @m, @d
set @d = @d - 1
end

select y + '- ' + m + '- ' + d from @t --当前年月参数的从月初到月末的所有日期

是这个意思吗?