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

 

 

 

 

 

 

 

 

— 业精于勤荒于嬉,行成于思毁于随 —

posted @   HOUHUILIN  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源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 鼠标 - 鼠标样式
点击右上角即可分享
微信分享提示