programming/mysql
时间函数modified | Saturday 28 June 2025 |
---|
时间函数
目录
1.2 CURDATE()
SELECT CURDATE();
1.3 CURTIME()
SELECT CURTIME();
1.4 DATE()
提取时间的日期部分
SELECT DATE(NOW());
1.5 EXTRACT()
返回时间的指定部分的值
SELECT EXTRACT(YEAR FROM NOW()), EXTRACT(MONTH FROM NOW()), EXTRACT(DAY FROM NOW());
1.6 DATE_ADD、DATE_SUB
在指定时间上增加/减少指定日期,具体类型有year,month,day等
SELECT DATE_ADD(NOW(), 1);
SELECT DATE_SUB(NOW(), INTERVAL 1 DAY);
1.7 ADDDATE、SUBDATE
SELECT ADDDATE(NOW(), INTERVAL 1 DAY);
SELECT SUBDATE(NOW(), 1);
1.8 DATEDIFF
DATEDIFF计算两个日期之间间隔的天数,(时分秒不参与计算)
SELECT DATEDIFF(‘ 5 May 2022 ’, ‘ 1 May 2022 ’);
1.9 TIMESTAMPDIFF
计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数
SELECT TIMESTAMPDIFF(HOUR, ‘ 1 May 2022 00:00:00’, ‘ 1 May 2022 23:59:59’);
SELECT TIMESTAMPDIFF(MINUTE, ‘ 1 May 2022 00:00:00’, ‘ 1 May 2022 00:20:00’);
SELECT TIMESTAMPDIFF(DAY, ‘ 1 May 2022 00:00:00’, ‘ 2 May 2022 23:59:59’);
SELECT TIMESTAMPDIFF(MONTH, ‘ 1 May 2022 00:00:00’, ‘ 2 June 2022 23:59:59’);
1.10 DATE_FORMAT
SELECT DATE_FORMAT(NOW(), ‘%Y-%m-%d’);
SELECT DATE_FORMAT(NOW(), ‘%Y-%m-%d %T’);
SELECT DATE_FORMAT(NOW(), ‘%Y-%m-%d %T.%f’);
SELECT DATE_FORMAT(NOW(), ‘%w’);
1.11 STR_TO_DATE
SELECT STR_TO_DATE(‘ 14 May 2022 13:50:35’, ‘%Y-%m-%d %H:%i:%s’);
SELECT STR_TO_DATE(‘ 14 May 2022 13:50:35’, ‘%Y-%m-%d %T’);
SELECT STR_TO_DATE(‘ 14 May 2022 13:50:35’, ‘%Y-%m-%d’);
1.12 LAST_DAY
SELECT LAST_DAY(NOW());
2.2 获取当月第一天
SELECT SUBDATE(CURDATE(), DAY(CURDATE()) - 1);
SELECT ADDDATE(LAST_DAY(SUBDATE(NOW(), INTERVAL 1 MONTH)), 1);
2.3 获取当月第几日
SELECT DAY(CURDATE());
2.4 获取下个月第一天
SELECT ADDDATE(LAST_DAY(NOW()), 1);
2.5 获取下个月最后一天
SELECT LAST_DAY(ADDDATE(LAST_DAY(NOW()), 1));
2.6 获取上个月第一天
SELECT ADDDATE(LAST_DAY(SUBDATE(NOW(), INTERVAL 2 MONTH)), 1);
2.7 获取上个月最后一天
SELECT LAST_DAY(SUBDATE(NOW(), INTERVAL 1 MONTH));
2.8 获取当月的天数
SELECT DAY(LAST_DAY(NOW()));
2.9 获取上个月的天数
SELECT DAY(LAST_DAY(SUBDATE(NOW(), INTERVAL 1 MONTH)));
2.10 获取下个月的天数
SELECT DAY(LAST_DAY(ADDDATE(LAST_DAY(NOW()), 1)));
2.11 当日时间范围
SELECT STR_TO_DATE(‘ 1 May 2022 ’, ‘%Y-%m-%d %H:%i:%s’);
SELECT STR_TO_DATE(CONCAT(‘ 1 May 2022 ’, ‘23:59:59’), ‘%Y-%m-%d %H:%i:%s’);
SELECT STR_TO_DATE(CURDATE(), ‘%Y-%m-%d %H:%i:%s’);
SELECT STR_TO_DATE(CONCAT(CURDATE(), ‘23:59:59’), ‘%Y-%m-%d %H:%i:%s’);