8

次のようなコードがあります。

  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 日とプラス 30 日になります。

4

3 に答える 3

16

試す、

WHERE CUS_joinDate BETWEEN DATEADD(mm,-1,GETDATE()) AND DATEADD(mm,1,GETDATE())
于 2013-05-12T04:34:21.477 に答える
0

これを試してください:

 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
于 2016-05-22T06:21:15.570 に答える