【SQLサーバー】日付関連のSQL

日付関連の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)