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

DB2环境下SQL如何使用日期函数获取当月第一天与最后一天

DB2 日期过滤逻辑实现方案

你使用的DATEADD、DATEDIFF为SQL Server专属日期函数,DB2不支持该语法,因此会出现执行报错。

核心日期函数实现

  • 当月第一天(两种兼容写法)
    高版本(DB2 9.7+)推荐写法:DATE_TRUNC('MONTH', CURRENT DATE)
    全版本兼容写法:CURRENT DATE - (DAY(CURRENT DATE) - 1) DAYS
  • 当月最后一天(两种兼容写法)
    高版本推荐写法:LAST_DAY(CURRENT DATE)
    全版本兼容写法:DATE_TRUNC('MONTH', CURRENT DATE) + 1 MONTH - 1 DAY

最终过滤条件SQL

-- 当月第一天过滤
L2.FOM >= DATE_TRUNC('MONTH', CURRENT DATE)
-- 当月最后一天过滤
L2.TOM <= LAST_DAY(CURRENT DATE)

注意事项

如果FOM、TOM字段为TIMESTAMP时间戳类型,为避免漏掉当月最后一天的时分秒数据,可以将最后一天的判断修改为更严谨的写法:

L2.TOM < DATE_TRUNC('MONTH', CURRENT DATE) + 1 MONTH

内容的提问来源于stack exchange,提问作者Tick _Tack

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 04:03:03