web-dev-qa-db-ja.com

今日のマイナス日とプラス日からの日付のSQL

私はこのようなコードを持っています:

  select CUS_Id, CUS_Name, CUS_JoinDate

  from CUSTOMER

  where CUS_joinDate between '04-12-2013' and '06-12-2013'

CUS_JoinDateが今日の日付(マイナス1か月と今日+ 1か月)として宣言されるようにするには、どうすればよいですか?

したがって、レポートを実行するたびに、レポートは現在の日付に依存し、自動的にマイナスおよびプラスの30日になります。

8
Captain16

試して、

WHERE CUS_joinDate BETWEEN DATEADD(mm,-1,GETDATE()) AND DATEADD(mm,1,GETDATE())
15
John Woo

CURDATE()およびDATEADD()を使用できます

W3SCHOOLS SQL DATES

3
Ben C Wang

これを試してください:

 select CUS_Id, CUS_Name, CUS_JoinDate

  from CUSTOMER

  where CUS_joinDate BETWEEN DATEADD(DAY,-1,GETDATE()) AND DATEADD(DAY,1,GETDATE())

ただし、日付に月/年を追加する必要がある場合は、DATEADD()関数を使用する必要があります。

次のように使用できます。

SELECT      GETDATE(), 'Today'
UNION ALL
SELECT      DATEADD(DAY,  10, GETDATE()), '10 Days Later'
UNION ALL
SELECT      DATEADD(DAY, –10, GETDATE()), '10 Days Earlier'
UNION ALL
SELECT      DATEADD(MONTH,  1, GETDATE()), 'Next Month'
UNION ALL
SELECT      DATEADD(MONTH, –1, GETDATE()), 'Previous Month'
UNION ALL
SELECT      DATEADD(YEAR,  1, GETDATE()), 'Next Year'
UNION ALL
SELECT      DATEADD(YEAR, –1, GETDATE()), 'Previous Year'

結果セット:

2011-05-20 21:11:42.390 Today
2011-05-30 21:11:42.390 10 Days Later
2011-05-10 21:11:42.390 10 Days Earlier
2011-06-20 21:11:42.390 Next Month
2011-04-20 21:11:42.390 Previous Month
2012-05-20 21:11:42.390 Next Year
2010-05-20 21:11:42.390 Previous Year
0
Muhammad Awais