【问题标题】:Filter on date stored in integer fields without datetime过滤存储在没有日期时间的整数字段中的日期
【发布时间】:2014-09-24 06:35:57
【问题描述】:

我有两列,一列带有年份(例如 2013、2014),另一列带有月份数字(例如 2、3、4)。

是否有代码可用于从我选择的月份恢复前 12 个月?因此,如果我选择我的年份为“2014”,我的月份为“9”,我想将结果返回到“2013”​​年和“10”月。

如果没有日期时间字段,这可能吗?

【问题讨论】:

    标签: sql date filter


    【解决方案1】:

    这应该是可能的。我会用“月”算术来做到这一点。例如,要获取自 2013-10 年以来的所有日期,选择月份 2014-09:

    select t.*
    from table t
    where year*12 + month >= 2014*12 + 9 - 12;
    

    【讨论】:

    • 谢谢,这正是我所追求的。
    猜你喜欢
    • 2018-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 2022-08-22
    • 1970-01-01
    • 2018-02-21
    相关资源
    最近更新 更多