将int转换为date以添加dayn并转换为int返回

时间:2013-10-22 15:23:02

标签: sql-server-2008 tsql

我有YYYYMM的int值。我想要: 1.将其转换为日期时间 2.添加一天DATEADD(Day,+ 1,@ date) 3.将其转换回int

最简单的方法是什么?

2 个答案:

答案 0 :(得分:0)

这是一个很好的练习,我希望它适合你...

declare @date date

declare @newDate date

set @date = convert(date, '20100101')

set @newdate = DateAdd(dd, 1, @Date)

select @date

select @newdate

select convert(int, convert(varchar, @newdate, 112))  -- this is your final conversion back to int

答案 1 :(得分:0)

如果你的初始int是201310(2013年10月),那么我认为你想要的是:

select convert(datetime, rtrim(201310 * 100 + 1))

函数RTRIM是将int转换为字符串类型的技巧。

结果如下:

2013-10-01 00:00:00.000

如果您不想使用RTRIM,下面的命令会得到相同的结果:

select convert(datetime, convert(char, 201310 * 100 + 1))