日期:2014-05-19  浏览次数:20370 次

100年前的第一个月第一天怎么得到

select   convert(datetime,(year(getdate())-100)-01-01)

我是这样写的?但得出的结果却是1905-03-23   00:00:00.000

高人帮忙看看

没分了.有没有人送分啊!

------解决方案--------------------
select convert(datetime,convert(varchar(4),year(getdate())-100)+ '-01-01 ')
------解决方案--------------------
declare @a datetime
select @a=convert(varchar(5),dateadd(year,-100,getdate()),120)+ '01-01 '
select @a
-----------------------
1907-01-01 00:00:00.000

(1 行受影响)


------解决方案--------------------
declare @a datetime
select @a=convert(varchar(5),dateadd(year,-100,getdate()),120)+ '01-01 '
select convert(char(10),@a,120)
-----------------------
1907-01-01
(1 行受影响)

------解决方案--------------------
select rtrim(year(dateadd(year, -100, getdate()))) + '-01-01 '

--result
------------------
1907-01-01

(1 row(s) affected)