一,TIMESTAMPDIFF

语法:

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)。

说明:

返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的单位由interval 参数给出。该参数必须是以下值的其中一个:

 

  1. FRAC_SECOND。表示间隔是毫秒
  2. SECOND。秒
  3. MINUTE。分钟
  4. HOUR。小时
  5. DAY。天
  6. WEEK。星期
  7. MONTH。月
  8. QUARTER。季度
  9. YEAR。年

二、str_to_date 

       MySQL内置函数,在mysql里面利用str_to_date()把字符串转换为日期。

示例:分隔符一致,年月日要一致

 

select str_to_date('2008-4-2 15:3:28','%Y-%m-%d %H:%i:%s');
select str_to_date('2008-08-09 08:9:30', '%Y-%m-%d %h:%i:%s');

 

 

例 :以下计算两个字段的时间差 (年) 注:第二个时间字段时间不用带时间格式 

SELECT user_id AS 姓名 ,
(CASE  WHEN sex=0 THEN '女'  ELSE '男' END) AS 性别,
mobileno AS 电话,
startdate AS 入职日期,
enddate AS 到职日期,
(CASE WHEN enddate>0 THEN 
TIMESTAMPDIFF(YEAR,STR_TO_DATE(startdate,'%Y-%m-%d %Y'),enddate)
ELSE
TIMESTAMPDIFF(YEAR,STR_TO_DATE(startdate,'%Y-%m-%d %Y'),LOCALTIME()) END )AS 工龄,
curstar  AS  星级,
curshopname AS  门店,
strength AS 优势 ,
weakness  AS  劣势,
improve AS  进步点 ,
memo AS 备注,
(CASE WHEN enddate>0  THEN '离职' ELSE '在职' END ) AS 状态FROM ft_sales