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

日期条件WHERE子句:如何在条件参数中给日期变量减12个月

不同数据库下的日期偏移写法

这部分代码得看你用的是哪种数据库,不同数据库的日期处理函数不一样,给你列几种常用场景的写法:

  • MySQL/MariaDB:两种写法都能实现,用DATE_SUB()函数或者直接用INTERVAL关键字:

    -- 写法1:DATE_SUB函数
    disease_date BETWEEN DATE_SUB(study_date, INTERVAL 12 MONTH) AND study_date
    -- 写法2:直接减INTERVAL
    disease_date BETWEEN study_date - INTERVAL 12 MONTH AND study_date
    
  • PostgreSQL:直接用INTERVAL关键字做日期偏移:

    disease_date BETWEEN study_date - INTERVAL '12 months' AND study_date
    
  • SQL Server:用DATEADD()函数,传入负数实现减12个月:

    disease_date BETWEEN DATEADD(MONTH, -12, study_date) AND study_date
    
  • Oracle:用ADD_MONTHS()函数,传入负数完成日期回推:

    disease_date BETWEEN ADD_MONTHS(study_date, -12) AND study_date
    

如果你的数据库不在上述列表里,查对应数据库的日期函数文档就行,核心逻辑就是生成study_date往前推12个月的日期,再和disease_date做范围匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 01:59:54