我使用YYYYMM獲得int值。我想: 1.轉換成日期時間 2.添加1天DATEADD(日+1,@date) 3.將其轉換回轉換成int將int轉換爲日期以添加dayn並將其轉換爲int
什麼是最簡單的方法是什麼?
我使用YYYYMM獲得int值。我想: 1.轉換成日期時間 2.添加1天DATEADD(日+1,@date) 3.將其轉換回轉換成int將int轉換爲日期以添加dayn並將其轉換爲int
什麼是最簡單的方法是什麼?
這裏是一個很好的鍛鍊,我希望它能爲你...
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
請注意,這裏缺少來自'int'的初始轉換。不過你可以直接轉換成'varchar':'set @date = convert(date,convert(varchar,20100101))' – valverij
如果您最初的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))
可能重複:HTTP://計算器.com/questions/3855867/convert-int-to-datetime-sql – valverij
有什麼需要使用'DATEADD'?如果你有'YYYYMM'作爲輸入,你總是有2個「輸出日」! –
順便說一下,你想要什麼樣的「int」作爲輸出?你能用真實的輸入和輸出來展示一個例子嗎? –