mysql——常用的日期函数
在做统计时避免不了计算时间,今天小菜简单分享点mysql中常用的计算时间的函数,自己会写点简单的例子,如果有什么问题欢迎指出。
*提取时间中的各个部分 " class="reference-link">
*提取时间中的各个部分 |
1、提取日期部分
DATE(expr)
2、提取时间部分
TIME(expr)
3、提取指定值(如:时、分、秒、年、月、日)
方法一
-- 提示:unit是指定的返回值,可取的值为(MICROSECOND、SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、YEAR等),date就是你要操作的时间,unit FROM date就是从date中提取指定的时分秒等的值,没有格式
EXTRACT(unit FROM date)
方法二
-- 返回 date中的年值
YEAR(date)
-- 返回 date中的月值
MONTH(date)
-- 返回 date中的日值
DAY(date)
-- 返回 time 中的小时值
HOUR(time)
-- 返回 time 中的分值
MINUTE(time)
-- 返回 time 中的秒值
SECOND(time)
4、例子
SELECT
m.start_time AS 日期时间,
DATE(m.start_time) AS 提取日期部分,
EXTRACT(YEAR FROM m.start_time) AS 提取年,
YEAR (m.start_time) AS 年,
EXTRACT(MONTH FROM m.start_time) AS 提取月,
MONTH (m.start_time) AS 月,
EXTRACT(WEEK FROM m.start_time) AS 提取周,
WEEKDAY(m.start_time) AS 周,
EXTRACT(DAY FROM m.start_time) AS 提取日,
DAY (m.start_time) AS 日,
TIME(m.start_time) AS 提取时间部分,
EXTRACT(HOUR FROM m.start_time) AS 提取时,
HOUR (m.start_time) AS 时,
EXTRACT(MINUTE FROM m.start_time) AS 提取分,
MINUTE (m.start_time) AS 分,
EXTRACT(SECOND FROM m.start_time) AS 提取秒,
SECOND (m.start_time) AS 秒
FROM
t_meeting_time m
WHERE
m.id = '08bd4ff7c27f4e6d8b60c9e8df27b918'
*计算两个时间的差值 " class="reference-link">
*计算两个时间的差值 |
1、方法
-- unit是计算单位(可取的值:SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR等),datetime_expr1是小的时间值,datetime_expr2是大的时间值,
TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2)
2、例子
SELECT
TIMESTAMPDIFF(HOUR,m.start_time,m.end_time) AS 时长,
TIMESTAMPDIFF(MINUTE,m.start_time,m.end_time) AS 分长,
TIMESTAMPDIFF(SECOND,m.start_time,m.end_time) AS 秒长
FROM
t_meeting_time m
WHERE
m.id = '08bd4ff7c27f4e6d8b60c9e8df27b918'
*当天的访问量 " class="reference-link">
*当天的访问量 |
1、方法
TO_DAYS(date)=TO_DAYS(NOW())
2、例子
SELECT
DATE(l.login_time) AS 当天日期,
COUNT(l.sy) AS 每日访问数
FROM
t_login_log l
WHERE TO_DAYS(l.login_time) = TO_DAYS(NOW())
GROUP BY l.sy
还没有评论,来说两句吧...