You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询公式修正需求:获取上月完整数据

修正方案:返回上月完整数据的SQL逻辑

原SQL逻辑会根据当前日期的日数切换上月初或当月初,现在需要调整为无论何时运行,都返回上月1日至上月最后一天的完整数据,以下是针对SQL Server语法的修正方案:

上月起始日期(上月1日)

DATEADD(MONTH, DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP) - 1, 0)

上月结束日期(上月最后一天)

DATEADD(DAY, -1, DATEADD(MONTH, DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP), 0))

完整查询示例(用于筛选数据)

如果需要在查询中过滤出上月的数据,推荐用以下写法(避免时分秒判断问题):

SELECT *
FROM your_table
WHERE your_date_column >= DATEADD(MONTH, DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP) - 1, 0)
  AND your_date_column < DATEADD(MONTH, DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP), 0)

逻辑说明

  • DATEDIFF(MONTH, 0, CURRENT_TIMESTAMP):计算从1900年1月1日到当前日期的总月份数
  • 对该数值减1后通过DATEADD,即可得到上月的第一天
  • 直接用<当月第一天替代<=上月最后一天,能兼容带时分秒的日期数据,避免漏判或误判

内容的提问来源于stack exchange,提问作者Ravikanth Kadiyala

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 09:34:54