decimal日期取前一天解决方案

decimal日期取前一天t1:dtdecimal(8,0)原数据:20070101希望结果:(取前一天)20061231[解决办法]declare @dt

decimal日期取前一天
t1:
dt   decimal(8,0)

原数据:
20070101

希望结果:(取前一天)
20061231

[解决办法]
declare @dt decimal(8,0)
set @dt = 20070101

select cast(stuff(stuff(cast(@dt as varchar(10)),5,0, '- '),8,0, '- ') as datetime)-1
[解决办法]
Declare @dt decimal(8,0)
Select @dt = 20070101
Select @dt = Convert(Varchar, DateAdd(dd, -1, Cast(@dt As Varchar)), 112)
Select @dt
--Result
/*
20061231
*/
[解决办法]
CREATE TABLE #T1(DT decimal(8,0))
INSERT #T1 SELECT '20070101 '
SELECT CONVERT(VARCHAR,DATEADD(DD,-1,RTRIM(DT)),112) FROM #T1

20061231