欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MySQL的几个日期函数_MySQL

程序员文章站 2022-06-14 21:10:08
...
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;