根据时间计算时间差
函数TIMESTAMPDIFF(unit,begin,end)
unit支持的单位有:MICROSECOND,SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,QUARTER,YEAR.
begin,end不需要相同的数据结构,可以存在一个为Date一个DateTime
以下是计算年份差demo:
SELECT TIMESTAMPDIFF(YEAR,'2010/10/10',CURDATE()) 年份差; SELECT TIMESTAMPDIFF(YEAR,'2010-10-10',CURDATE()) 年份差; SELECT TIMESTAMPDIFF(YEAR,20101010,CURDATE()) 年份差;
三个函数的区分
NOW(),CURDATE(),CURTIME():
#工作中的一个demo
#根据以下筛选条件算出总计: #1、身份证前2位数字,非54、62、63、64、65 #2、手机号前2位数字,非16、19 #3、年龄满足25-45 SELECT COUNT(*) FROM `user` WHERE id_num!='' AND LEFT(id_num,2) NOT IN (54,62,63,64,65) AND LEFT(mobile,2) NOT IN (16,19) AND TIMESTAMPDIFF(YEAR,SUBSTRING(id_num,7,8),CURDATE()) BETWEEN 25 AND 45;
