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 @ 2024-05-30 11:02  HOUHUILIN  阅读(10)  评论(0编辑  收藏  举报