日付関連のSQLです(SQLサーバー2005で検証)。
–現在時刻の1時間前
select dateadd(hour,-1,getdate())
–現在日付の1日前
select dateadd(day,-1,getdate())
–現在日付の1か月前
select dateadd(month,-1,getdate())
–現在日付の1年前
select dateadd(year,-1,getdate())
–現在日付の1年前の年月(YYYY/MM)
select SUBSTRING(CONVERT(VARCHAR, dateadd(year,-1,getdate()), 111),1,7)
–現在日付(YYYYMM)
select LEFT(CONVERT(varchar, getdate(), 112), 6)
–現在日付の1か月前の年月(YYYYMM)
select LEFT(CONVERT(varchar, dateadd(month,-1,getdate()), 112), 6)
–現在日付の1年前の年月(YYYYMM)
select LEFT(CONVERT(varchar, dateadd(year,-1,getdate()), 112), 6)