SQL Server から MySQL にデータを転送する場合、関連するデータのみをフィルターで除外することが重要です。この場合、過去 7 日間のデータを抽出することが重要です。ただし、提供された SQL クエリは予期しない結果をもたらしました。
GETDATE()-7 および GETDATE() を使用してデータをフィルタリングしたクエリでは、5 日分しか取得されませんでした。結果の。この不一致には調査が必要です。
SQL Server の場合、GETDATE() は現在の日付と時刻を返します。ただし、7 日前を計算するには、タイムゾーンと夏時間を考慮して調整する必要があります。これを解決するには、DATEADD(day,-7, GETDATE()) を使用します。 DATEADD() は、指定された日数 (この場合は -7) を現在の日付に追加し、完全な過去 7 日間までの正確なデータ取得を保証します。
したがって、修正されたクエリは次のようになります。
<code class="sql">SELECT id, NewsHeadline as news_headline, NewsText as news_text, state CreatedDate as created_on FROM News WHERE CreatedDate >= DATEADD(day,-7, GETDATE())</code>
この変更されたクエリは、必要な 7 日間分のデータを効果的に取得し、以前に発生した不一致を解決します。
以上がクエリで特に過去 7 日間のデータを要求しているのに、過去 5 日間のデータしか取得できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。