SQL Server での過去 7 日間のデータの取得
SQL から過去 7 日間のデータを効率的に取得するタスクサーバー テーブルは、さまざまなデータ管理シナリオで発生します。そのような状況の 1 つは、Pentaho を使用して、「A」という名前の SQL Server テーブルから MySQL テーブルにデータをロードすることです。正確さと関連性を確保するには、過去 7 日間のデータのみが取得されるようにデータをフィルター処理する必要があります。
特定のコンテキストでは、SQL Server テーブル "A" の "CreatedDate" 列「日時」データ型として定義されます。ただし、MySQL テーブルでは、対応する列「created_on」は「timestamp」データ型として定義されています。これらのデータ型の表現と精度には若干の違いがあることに注意することが重要です。
ユーザーが提供した最初のクエリは、次のステートメントを使用して必要なデータを選択しようとしました:
SELECT id, NewsHeadline as news_headline, NewsText as news_text, state, CreatedDate as created_on FROM News WHERE CreatedDate BETWEEN GETDATE()-7 AND GETDATE() order by createddate DESC
ただし、このクエリでは 5 日分のデータしか取得できませんでした。この問題を修正して過去 7 日間のデータを正確に取得するには、クエリを少し調整する必要があります。
目的のデータを正しく選択する変更されたクエリは次のとおりです。
SELECT id, NewsHeadline as news_headline, NewsText as news_text, state CreatedDate as created_on FROM News WHERE CreatedDate >= DATEADD(day,-7, GETDATE())
この変更されたクエリでは、DATEADD 関数を使用して現在の日付から 7 日を減算し、過去 7 日間の期間の始まりを表す日付値を取得します。これを日付範囲の下限として指定することで、クエリで過去 7 日間に該当するすべてのデータが確実に取得されます。
以上がDATEADD 関数を使用して SQL Server で過去 7 日間のデータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。