mysql计算俩时间相差多少年

mysql计算俩时间相差多少年,第1张

TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND、SECOND、

MINUTE、

HOUR、

DAY、

WEEK、

MONTH、

QUARTER或

YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间SELECT

TIMESTAMPDIFF(YEAR,'2012-10-01','2013-01-13')

表示两者相差的年

不考虑 “天”的因素:

select if(month(d2)-month(d1)>0,

concat(year(d2)-year(d1),'年',month(d2)-month(d1),'月'),

concat(year(d2)-year(d1)-1,'年',month(d2)-month(d1)+12,'月')) as r from xxxxx

----------------------------------------------------------------------------------------------------------

例子:

d1='2013-05-13'

d2='2014-07-13'

select if(month('2014-07-13')-month('2013-05-13')>0,

concat(year('2014-07-13')-year('2013-05-13'),'年',month('2014-07-13')-month('2013-05-13'),'月'),

concat(year('2014-07-13')-year('2013-05-13')-1,'年',month('2014-07-13')-month('2013-05-13')+12,'月')) as r

结果:1年2月

=================================================================

d1='2013-05-13'

d2='2014-01-13'

select if(month('2014-01-13')-month('2013-05-13')>0,

concat(year('2014-01-13')-year('2013-05-13'),'年',month('2014-01-13')-month('2013-05-13'),'月'),

concat(year('2014-01-13')-year('2013-05-13')-1,'年',month('2014-01-13')-month('2013-05-13')+12,'月')) as r

结果:0年8月

select * from 表 where year(字段)>2011 and Year(字段)<2012 或者

select * from 表 where 字段 between '2011' and '2012'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6119141.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存