【问题标题】:Dates less than or equal to 6 months old, but not including dates > today - 2 days小于或等于 6 个月的日期,但不包括 > 今天 - 2 天的日期
【发布时间】:2017-01-27 16:25:27
【问题描述】:

使用 MySQl,我有一个数据类型为 datetime 列的表,并且 我需要选择日期时间

示例:

今天 2017 年 1 月 27 日 -

我需要从 2017 年 1 月 27 日到 2016 年 7 月 27 日的记录(即 6 个月的间隔),减去前 2 天(1/26/2017 和 1/27 /2017)。

所以我的结果将是从 2017 年 1 月 25 日到 2016 年 7 月 27 日的日期列表。

到目前为止我有什么:

SELECT * FROM myTable WHERE myDateTime >= DATE_SUB(CURRENT_DATE(), INTERVAL 6 MONTH) AND (DATE(date_add(myDateTime, INTERVAL 2 DAY))) < DATE(CURRENT_DATE())

这应该有效吗?有没有更好的方法?

【问题讨论】:

    标签: mysql datetime


    【解决方案1】:

    怎么样:

    SELECT * FROM myTable WHERE DATE(myDateTime) &gt;= DATE(NOW() - interval 6 month + interval 2 day))

    编辑:刚刚看到你需要它是历史的,所以调整到:

    SELECT * FROM myTable WHERE DATE(myDateTime) BETWEEN DATE(NOW() - interval 6 month + interval 2 day) AND DATE(NOW())

    【讨论】:

    • 嗨,Donii,您的回答中好像有多余的“)”或缺少“(”。我不确定是哪个。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 2011-07-08
    • 1970-01-01
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多