1、PERIOD_DIFF()函数
作用:返回两个时间相差的月份数,注意它是前一个时间减后一个时间
例1:返回 2014-03-20 到 2014-04-10之间的月份数,结果是 -2 。
SELECT PERIOD_DIFF( DATE_FORMAT('2014-03-20','%Y%m%d') , DATE_FORMAT( '2014-04-10', '%Y%m%d' ) ) FROM DUAL;
例2:返回 2014-04-10 到 2014-03-20之间的月份数,结果是 2 。
SELECT PERIOD_DIFF( DATE_FORMAT('2014-04-10','%Y%m%d') , DATE_FORMAT( '2014-03-20', '%Y%m%d' ) ) FROM DUAL;
2、DATE_SUB()函数
作用:将从一个日期/时间值中减去一个时间值(时间间隔)
例3:返回上一个月26号的日期(今天是2014-6-26),结果是 2014-5-26。
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 MONTH),'%Y-%m-%d') FROM DUAL;
例4:返回上一个月的订单记录(今天是 2014-6-26,即需求是返回5月份一整月的订单)。
SELECT * FROM t_e_order WHERE PERIOD_DIFF( DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 MONTH),'%Y%m') , DATE_FORMAT( ‘下单时间’, '%Y%m' ) ) =0
例5:返回往年上一个月的订单记录(今天是 2014-6-26,即需求是返回往年每个5月份一整月的订单)。
SELECT * FROM t_e_order WHERE MONTH(‘下单时间’) = MONTH(NOW()) - 1
3、DATE_FORMAT()函数
作用:格式化日期时间
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') FROM DUAL;