MySQL数据库函数——MySQL日期函数
获取系统时间函数
(1) NOW()
函数能获得系统日期和时间,格式 yyyy-MM-dd hh:mm:ss
(2) CURDATE()
函数能获得当前系统日期,格式 yyyy-MM-dd
(3) CURETIME()
函数能获得当前系统时间,格式 hh:mm:ss
日期格式化函数
(1) DATE_FORMAT()
函数用于格式化日期,返回用户想要的日期格式
用法:
DATE_FORMAT(日期, 表达式)
示例:查询员工入职年份
SELECT ename,DATE_FORMAT(hiredate,"%Y")
FROM t_emp;
(2) 日期格式的占位符及作用
占位符 | 作用 | 占位符 | 作用 |
---|---|---|---|
%Y | 年份 | %m | 月份 |
%d | 日期 | %w | 星期(数字) |
%W | 星期(名称) | %j | 本年第几天 |
%U | 本年第几周 | %H | 小时(24) |
%h | 小时(12) | %i | 分钟 |
%s | 秒 | %r | 时间(12) |
%T | 时间(24) | / | / |
日期函数练习
(1) 利用日期函数,查询明年你的生日是星期几?
SELECT DATE_FORMAT("2023-06-06","%w");
(2) 利用日期函数,查询2000年上半年入职的员工有多少人?
SELECT COUNT(*) FROM t_emp
WHERE DATE_FORMAT(hiredate,"%Y")=2000
AND DATE_FORMAT(hiredate,"%m")<=6;
日期计算的注意事项: MySQL数据库里面,两个日期不能直接加减,日期也不能与数字加减
日期偏移计算
DATE_ADD()
函数可以实现日期的偏移计算,而且时间单位很灵活
DATE_ADD(日期, INTERVAL 偏移量 时间单位)
示例:
SELECT DATE_ADD(NOW(),INTERVAL 15 DAY);
SELECT DATE_ADD(NOW(),INTERVAL -300 MINUTE);
SELECT DATE_ADD(DATE_ADD(NOW(),INTERVAL -6 MONTH),INTERVAL -3 DAY);
SELECT DATE_FORMAT(
DATE_ADD(DATE_ADD(NOW(),INTERVAL -6 MONTH),INTERVAL -3 DAY),"%Y%m%d");
计算日期之间相隔的天数
DATEDIFF()
函数用来计算两个日期之间相差的天数
用法:
DATEDIFF(日期, 日期)