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;