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'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)