MySQL - [10] 时间处理函数
题记部分
(1)获取当前日期时间:select current_date;
(2)获取当前时间戳:select current_timestamp;
(3)返回日期中的年/季度/月/日/时/分/秒
select year('2024-04-18 12:10:56');
-- 输出:2024
select quarter('2024-04-18 12:10:56');
-- 输出:2
select month('2024-04-18 12:10:56');
-- 输出:4
select day('2024-04-18 12:10:56');
-- 输出:18
select hour('2024-04-18 12:10:56');
-- 输出:12
select minute('2024-04-18 12:10:56');
-- 输出:10
select second('2024-04-18 12:10:56');
-- 输出:56
(4)返回日期在当年的第几周
select weekofyear('2024-04-18 12:10:56');
-- 输出:16
(5)返回日期在当前周的第几天(注:周日是第一天)
select dayofweek('2024-05-30 13:43:03'); -- 周四
-- 输出:5
(6)返回日期比较函数,返回开始日期减去结束日期的天数
select datediff('2024-05-30', '2024-05-28');
-- 输出:10
select datediff(current_date(), date_add(current_date(), interval -10 day));
-- 输出:10
select datediff(current_date(), date_add(current_date(), interval 10 day));
-- 输出:-10
-- 说明:前者大于后者,返回值为正,否则,返回值为负。
(7)日期增加、减少函数
select date_add('2024-05-30',interval 8 day);
-- 输出: 2024-06-07
select date_sub('2024-05-30',interval 8 day);
-- 输出: 2024-05-22
(8)获取日期月初、月末、年初日期
-- 获取当前月的月初日期
SELECT DATE_SUB(LAST_DAY(NOW()), INTERVAL DAY(LAST_DAY(NOW())) - 1 DAY) AS first_day_of_month;
SELECT DATE_FORMAT(CURDATE(), '%Y-%m-01') AS FirstDayOfMonth;
SELECT DATE_ADD(CURDATE(), INTERVAL -DAY(CURDATE()) + 1 DAY) AS FirstDayOfMonth;
-- 输出: 2024-05-01
-- 获取当前月的月末日期
select last_day(current_date());
-- 输出: 2024-05-31
-- 获取当前月的年初日期
SELECT CONCAT(YEAR(CURDATE()), '-01-01') AS start_of_year;
-- 输出: 2024-01-01
— 业精于勤荒于嬉,行成于思毁于随 —
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2023-05-30 Hadoop - [01] 概述
2023-05-30 MD5 - windows也可以查询某个文件的MD5码
2023-05-30 Wifi - 查看连接过的Wifi的密码
2023-05-30 Typora - typora主题样式
2023-05-30 Shell - shell中的运算符
2023-05-30 鼠标 - 鼠标样式