MYSQL利用日期处理函数计算日期间的年差月差日差小时差

日期格式:

例:19951225 , ‘19951225’ , ‘1995-12-25’ , '1995-12-25 00:00:00’

可用函数:

TO_DAYS(date) 函数给出一个日期 date ,返回一个天数(从 0 年开始的天数):
注释:不考虑当历法改变时所遗失的天数。
mysql> SELECT TO_DAYS(‘1995-12-25’); >>> 729017

FROM_DAYS(N) 给出一个天数 N,返回一个 DATE 值:
mysql> SELECT FROM_DAYS(729017); >>> ‘1995-12-25’

DATE_FORMAT(date,format) 函数用于以不同的格式显示日期/时间数据:
mysql> SELECT DATE_FORMAT(19951225,’%Y-%m-%d’); >>> ‘1995-12-25’

DATEDIFF(expr1,expr2) expr1 和 expr2 参数是合法的日期或日期/时间表达式,返回值是相差的天数:
注释:只有值的日期部分参与计算,不能定位到小时、分钟和秒。
mysql> SELECT DATEDIFF(NOW(),‘1995-12-25’); >>> 8516

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 返回值是相应精确度的数量:
注释:interval 参数可精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),时间远的放前面,时间近的放后面。
mysql> SELECT TIMESTAMPDIFF(HOUR,‘1995-12-25’,NOW()); >>> 204401

日期计算:

1) 计算年差
mysql> SELECT (DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(‘1995-12-25’)),’%Y’) + 0 ); >>> 23
mysql> SELECT (DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),‘1995-12-25’)),’%Y’) + 0 ); >>> 23
mysql> SELECT TIMESTAMPDIFF(YEAR,‘1995-12-25’,NOW()); >>> 23
2) 计算月差
mysql> SELECT TIMESTAMPDIFF(MONTH,‘1995-12-25’,NOW()); >>> 279
3) 计算日差
mysql> SELECT TO_DAYS(NOW()) - TO_DAYS(‘1995-12-25’); >>> 8516
mysql> SELECT DATEDIFF(NOW(),‘1995-12-25’); >>> 8516
mysql> SELECT TIMESTAMPDIFF(DAY,‘1995-12-25’,NOW()); >>> 8516
4) 计算时差
mysql> SELECT TIMESTAMPDIFF(HOUR,‘1995-12-25 00:00:00’,NOW()); >>> 204401

以上仅供参考

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值