关于一个时间转换的问题?
我希望把当前的任意时间转换成上一月的26日   
 我用的是下面的语句: 
 Select   cast(datename   (year, '2007-01-13 ')   +    '- '   +   Rtrim   (datepart   (month, '2007-01-13 ')-1)   +    '-26 '   As   DateTime)   
 -- 
 将   expression   转换为数据类型   datetime   时发生算术溢出错误。     
 可是在处理1月数据时就不行了,请问这个语句应当如何写?如何处理时间跨年的问题啊? 
------解决方案--------------------declare @a datetime 
 set @a= '2007-01-13 ' 
 select convert(char(7),dateadd(month,-1,@a),120)+ '-26 '