将数据从 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中文网其他相关文章!