SQL数据库之“TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)”

一、介绍

样本:TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

解析:TIMESTAMPDIFF(格式,开始时间,结束时间)

二、参数解析

  1. 格式:

    • FRAC_SECOND。表示间隔是毫秒

    • SECOND。秒

    • MINUTE。分钟

    • HOUR。小时

    • DAY。天

    • WEEK。星期

    • MONTH。月

    • QUARTER。季度

    • YEAR。年

  2. 开始时间

    • 小于结束时间

    • 可以写表中时间字段

    • 2020-08-25 01:01:01

    • 2020.08.25 01:01:01

    • 2020.08.25

  3. 结束时间

    • 大于开始时间

    • 数据格式同上

三、案例

-- 以下如不够1 就返回0
-- 获取年为1
SELECT TIMESTAMPDIFF(YEAR,'2020-08-25 01:01:01','2021-08-25 01:01:01') AS wzw; 
-- 获取月为1
SELECT TIMESTAMPDIFF(MONTH,'2021-07-25 01:01:01','2021-08-25 01:01:01') AS wzw; 
-- 获取日为1
SELECT TIMESTAMPDIFF(DAY,'2021-08-25 01:01:01','2021-08-26 01:01:01') AS wzw;
-- 获取小时为1
SELECT TIMESTAMPDIFF(HOUR,'2021-08-25 01:01:01','2021-08-25 02:01:01') AS wzw; 
-- 获取分钟为1
SELECT TIMESTAMPDIFF(MINUTE,'2021-08-25 01:01:01','2021-08-25 01:02:01') AS wzw; 
-- 获取秒钟为1
SELECT TIMESTAMPDIFF(SECOND,'2021-08-25 01:01:01','2021-08-25 01:01:02') AS wzw; 
-- 根据创建时间获取过了多少小时
SELECT TIMESTAMPDIFF(HOUR,'2021-08-25 01:01:01',t.create_date) AS wzwhour FROM t_wzw t

四、注意事项

  • 获取的数据如果不够1  就返回0

  • 在不注重于天一下的数据可以省略

  • 可以将时间改为自己想要的字段

posted @ 2021-08-25 17:00  骚哥  阅读(368)  评论(0编辑  收藏  举报