字符串型:格式2006-3-1 convert(varchar(10),dateadd(dd,DATEPART(dy,getdate()),cast('20'+substring(datestr,2,2)+'-1-1' as datetime)),020)日期型:2006-2-1 00:00:00 dateadd(dd,DATEPART(dy,getdate()),cast('20'+substring(datestr,2,2)+'-1-1' as datetime))
DATEADD([day], CAST(RIGHT(strDate, 3) AS int) - 1, CAST('20' + LEFT(RIGHT(strDate, LEN(strDate) - 1), 2) AS Datetime))上面是我写的,并且是正确的显示为2006-2-1 我是想知道有别的简单的方法没有了
create table #t1( a datetime, b char(6) )declare @StartTime as datetime declare @strDate as char(6) set @StartTime='2006-1-1' set @strDate ='106001' while @StartTime<='2007-12-31' begin insert into #t1 values(@StartTime,@strDate) set @StartTime=Dateadd(day,1,@StartTime) set @strDate=@strDate+1 endselect * from #t1 这个是测试过的,直接执行,应该很快可以达到你要修改的目的的
convert(varchar(10),dateadd(dd,DATEPART(dy,getdate()),cast('20'+substring(datestr,2,2)+'-1-1' as datetime)),020)日期型:2006-2-1 00:00:00
dateadd(dd,DATEPART(dy,getdate()),cast('20'+substring(datestr,2,2)+'-1-1' as datetime))
我是想知道有别的简单的方法没有了
create table #t1(
a datetime,
b char(6)
)declare @StartTime as datetime
declare @strDate as char(6)
set @StartTime='2006-1-1'
set @strDate ='106001'
while @StartTime<='2007-12-31'
begin
insert into #t1 values(@StartTime,@strDate)
set @StartTime=Dateadd(day,1,@StartTime)
set @strDate=@strDate+1
endselect * from #t1
这个是测试过的,直接执行,应该很快可以达到你要修改的目的的