sql-server - 日期 SELECT 不返回所有可用值

标签 sql-server date select

我一直试图找出过去 3 个月内的所有可用日期,但不幸的是我的“公式”似乎总是遗漏 1 天。

例如,如果今天是 2023 年 3 月 23 日,我想返回过去 3 个月的所有日期,我希望看到 2022 年 12 月 23 日以来的所有日期,但也包括 12 月 23 日。

我正在做的是返回从今天的日期 -3 个月(即从 12 月 24 日开始)开始的所有内容,并且始终排除今天的日期。

我的数据库位于 SQL Server 2016 上。

select * from TABLE where DATE_COLUMN >= dateadd(month, -3, getdate())

最佳答案

在过滤之前从 GetDate() 中删除时间部分:

select * from TABLE where DATE_COLUMN >= dateadd(month, -3, cast(getdate() as date))

关于sql-server - 日期 SELECT 不返回所有可用值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75824828/

相关文章:

javascript - Javascript 中的日期差异(忽略一天中的时间)

php - Laravel - 选择 - 设置默认选项

c# - 计算日期之间的分钟差

sql - 在 SQL 中不等于

sql - 仅返回具有最大键的行

sql - 使用 SQL 查询替换 JSON 中的数据

sql-server - 使用 SSDT 2016 部署报告会生成错误

c# - 多个相同类型的 Include 语句出现奇怪的 Entity Framework 错误

sql-server - 总结区间数据的最佳方法是什么?

php - Mysql - 如何在 1 条记录中加入自定义字段标题和数据的表