日期小于或等于6个月,但不包括日期>今天 - 2天

时间:2017-01-27 16:25:27

标签: mysql datetime

使用MySQl,我有一个数据类型为datetime列的表 我需要选择日期时间<的行。 6个月的当前日期,也消除了前2天。

实施例

今天是2017年1月27日 -

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

所以我的结果将是2016年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())

应该有用吗?有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

怎么样:

SELECT * FROM myTable WHERE DATE(myDateTime) >= 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())