mysql-获取时间差

  1. timestampdiff 函数
  2. now 函数

timestampdiff 函数

  • 获取年差

    select timestampdiff(YEAR,'2020-05-10','2021-05-09') -- 结果为0:表示时间差小于1年
    select timestampdiff(YEAR,'2020-05-10','2021-05-10') -- 结果为1:表示时间差大于等于1年但是小于2年
    select timestampdiff(YEAR,'2020-05-10','2022-05-09') -- 结果为1:表示时间差大于等于1年但是小于2年
  • 获取月差

    select timestampdiff(MONTH,'2020-05-10','2021-05-09'); -- 结果为11:表示时间差11个月(不足12个月)
    select timestampdiff(MONTH,'2020-05-10','2021-05-10'); -- 结果为12:表示时间差12个月(不足13个月)
    select timestampdiff(MONTH,'2020-05-10','2021-05-11'); -- 结果为12:表示时间差12个月(不足13个月)
  • 获取日差

    select timestampdiff(DAY,'2020-05-10','2021-05-09');  -- 结果为364
    select timestampdiff(DAY,'2020-05-10','2021-05-10');  -- 结果为365
    select timestampdiff(DAY,'2020-05-10','2021-05-11');  -- 结果为366
  • 获取小时差

    select timestampdiff(HOUR,'2020-05-10 12:00:00','2020-05-10 12:30:00');  -- 结果为0,表示不足1小时
    select timestampdiff(HOUR,'2020-05-10 12:00:00','2020-05-10 13:00:00');  -- 结果为1,表示大于1小时,小于2小时
    select timestampdiff(HOUR,'2020-05-10 12:00:00','2020-05-10 13:30:00');  -- 结果为1,表示大于1小时,小于2小时
  • 获取分钟差

    select timestampdiff(MINUTE ,'2020-05-10 12:00:00','2020-05-10 12:30:00');  -- 结果为30
    select timestampdiff(MINUTE,'2020-05-10 12:00:00','2020-05-10 13:00:00');  -- 结果为60
    select timestampdiff(MINUTE,'2020-05-10 12:00:00','2020-05-10 13:30:00');  -- 结果为90
  • 获取分钟差

    select timestampdiff(SECOND,'2020-05-10 12:00:00','2020-05-10 12:30:00');  -- 结果为1800

now 函数

  • 获取当前时间
    select now();

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
My Show My Code