求一个时间转换的问题 在线等..........
用于一张累计报表的
录入一个本年的时间自动将转换为上一年的12月26日
请问该如何写。
另问介绍一下哪里有这方面的详细教程或例程,想学一下。
------解决方案-------------------- declare @dt datetime
--本年时间,需要转换
set @dt= '2007-03-28 '
select case when year(@dt)=year(getdate()) then cast(year(getdate()) as varchar(4)) + '- ' + '12-26 ' else @dt end
--非本年时间,不需要转换
set @dt= '2006-03-28 '
select case when year(@dt)=year(getdate()) then cast(year(getdate()) as varchar(4)) + '- ' + '12-26 ' else @dt end
------解决方案--------------------Declare @DateTime DateTime
Set @DateTime= GetDate()
Select Cast(Rtrim(Year(@DateTime) - 1) + '-12-26 ' As DateTime)
--Result
/*
2006-12-26 00:00:00.000
*/
------解决方案--------------------declare @date datetime
set @date= '2007-03-29 '
select rtrim(year(@date)-1)+ '-12-26 '
------解决方案--------------------select convert(datetime,Rtrim(Yesr(变量)-1)+ '-12-26 ')