將資料從 SQL Server 傳送到 MySQL 時,必須僅過濾掉相關資料。在這種情況下,提取最近 7 天的數據至關重要。然而,提供的 SQL 查詢產生了意外結果。
使用 GETDATE()-7 和 GETDATE() 過濾資料的查詢僅檢索到五天的資料結果。這種差異需要探索。
對於 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 天資料並解決先前遇到的差異。
以上是當我的查詢特別要求取得過去七天的資料時,為什麼我只能取得過去五天的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!