mysql——常用的日期函数

一时失言乱红尘 2022-03-02 14:44 325阅读 0赞

  在做统计时避免不了计算时间,今天小菜简单分享点mysql中常用的计算时间的函数,自己会写点简单的例子,如果有什么问题欢迎指出。

*提取时间中的各个部分 " class="reference-link">
*提取时间中的各个部分

1、提取日期部分

  1. DATE(expr)

2、提取时间部分

  1. TIME(expr)

3、提取指定值(如:时、分、秒、年、月、日)

方法一

  1. -- 提示:unit是指定的返回值,可取的值为(MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHYEAR等),date就是你要操作的时间,unit FROM date就是从date中提取指定的时分秒等的值,没有格式
  2. EXTRACT(unit FROM date)

方法二

  1. -- 返回 date中的年值
  2. YEAR(date)
  3. -- 返回 date中的月值
  4. MONTH(date)
  5. -- 返回 date中的日值
  6. DAY(date)
  7. -- 返回 time 中的小时值
  8. HOUR(time)
  9. -- 返回 time 中的分值
  10. MINUTE(time)
  11. -- 返回 time 中的秒值
  12. SECOND(time)

4、例子

  1. SELECT
  2. m.start_time AS 日期时间,
  3. DATE(m.start_time) AS 提取日期部分,
  4. EXTRACT(YEAR FROM m.start_time) AS 提取年,
  5. YEAR (m.start_time) AS 年,
  6. EXTRACT(MONTH FROM m.start_time) AS 提取月,
  7. MONTH (m.start_time) AS 月,
  8. EXTRACT(WEEK FROM m.start_time) AS 提取周,
  9. WEEKDAY(m.start_time) AS 周,
  10. EXTRACT(DAY FROM m.start_time) AS 提取日,
  11. DAY (m.start_time) AS 日,
  12. TIME(m.start_time) AS 提取时间部分,
  13. EXTRACT(HOUR FROM m.start_time) AS 提取时,
  14. HOUR (m.start_time) AS 时,
  15. EXTRACT(MINUTE FROM m.start_time) AS 提取分,
  16. MINUTE (m.start_time) AS 分,
  17. EXTRACT(SECOND FROM m.start_time) AS 提取秒,
  18. SECOND (m.start_time) AS
  19. FROM
  20. t_meeting_time m
  21. WHERE
  22. m.id = '08bd4ff7c27f4e6d8b60c9e8df27b918'

在这里插入图片描述

*计算两个时间的差值 " class="reference-link">
*计算两个时间的差值

1、方法

  1. -- unit是计算单位(可取的值:SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR等),datetime_expr1是小的时间值,datetime_expr2是大的时间值,
  2. TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)

2、例子

  1. SELECT
  2. TIMESTAMPDIFF(HOUR,m.start_time,m.end_time) AS 时长,
  3. TIMESTAMPDIFF(MINUTE,m.start_time,m.end_time) AS 分长,
  4. TIMESTAMPDIFF(SECOND,m.start_time,m.end_time) AS 秒长
  5. FROM
  6. t_meeting_time m
  7. WHERE
  8. m.id = '08bd4ff7c27f4e6d8b60c9e8df27b918'

在这里插入图片描述

*当天的访问量 " class="reference-link">
*当天的访问量

1、方法

  1. TO_DAYS(date)=TO_DAYS(NOW())

2、例子

  1. SELECT
  2. DATE(l.login_time) AS 当天日期,
  3. COUNT(l.sy) AS 每日访问数
  4. FROM
  5. t_login_log l
  6. WHERE TO_DAYS(l.login_time) = TO_DAYS(NOW())
  7. GROUP BY l.sy

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,325人围观)

还没有评论,来说两句吧...

相关阅读