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

求一个时间转换的问题 在线等..........
用于一张累计报表的
录入一个本年的时间自动将转换为上一年的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 ')