使用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())
应该有用吗?有没有更好的方法呢?
答案 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())