mysql 计算时间函数差

根据时间计算时间差
函数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()
mysql 计算时间函数差_第1张图片

#工作中的一个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;

你可能感兴趣的:(基础知识,mysql,sql)