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
— 业精于勤荒于嬉,行成于思毁于随 —

浙公网安备 33010602011771号