首页  >  文章  >  数据库  >  当我的查询特别要求获取过去七天的数据时,为什么我只能获取过去五天的数据?

当我的查询特别要求获取过去七天的数据时,为什么我只能获取过去五天的数据?

DDD
DDD原创
2024-10-29 06:38:02201浏览

Why am I only getting data from the last five days when my query specifically asks for the last seven?

检索最近 7 天的数据效率

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn