字符串转换日期
字符串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 --当前年月参数的从月初到月末的所有日期
是这个意思吗?