1. ホーム
  2. sql

[解決済み] 現在の日付から過去12ヶ月間、さらに前月1日までの余分な日数を取得するにはどうすればよいですか?

2022-02-10 10:38:42

質問事項

特定の日付から過去12ヶ月を取得するのは簡単で、SQL-serverの以下のコマンドで取得できる。その答えは2014-08-17である。

select Dateadd(Month, -12, '2015-08-17')

過去12ヶ月を取得したいのですが、2014-08-で終了します。 01 (上記の場合)月の途中のどこかの場所ではなく

解決方法は?

使用方法 DATEADDDATEDIFF :

DECLARE @ThisDate DATE = '20150817'
SELECT DATEADD(YEAR, -1, DATEADD(MONTH, DATEDIFF(MONTH, '19000101', @ThisDate), '19000101'))

より一般的な日付ルーチンについては、以下を参照してください。 記事 by Lynn Pettis.


で使用する場合 WHERE 節を使用します。

DECLARE @ThisDate DATE = '20150817'
SELECT *
FROM <your_table>
WHERE
    <date_column> >= DATEADD(YEAR, -1, DATEADD(MONTH, DATEDIFF(MONTH, '19000101', @ThisDate), '19000101'))