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