MySQL日期函数用法大全 - 详解常用日期时间操作
MySQL日期函数用法大全
MySQL提供了丰富的日期和时间函数,用于处理各种日期时间相关的操作。本文将详细介绍MySQL中最常用的日期函数及其用法。
1. 获取当前日期和时间
- NOW() - 返回当前日期和时间(YYYY-MM-DD HH:MM:SS)
- CURDATE() - 返回当前日期(YYYY-MM-DD)
- CURTIME() - 返回当前时间(HH:MM:SS)
- CURRENT_DATE() - 同CURDATE()
- CURRENT_TIME() - 同CURTIME()
- CURRENT_TIMESTAMP() - 同NOW()
2. 日期提取函数
- YEAR(date) - 返回日期的年份
- MONTH(date) - 返回日期的月份(1-12)
- DAY(date) - 返回日期的日(1-31)
- HOUR(time) - 返回时间的小时(0-23)
- MINUTE(time) - 返回时间的分钟(0-59)
- SECOND(time) - 返回时间的秒(0-59)
- DAYOFWEEK(date) - 返回星期几(1=周日,7=周六)
- DAYOFYEAR(date) - 返回一年中的第几天(1-366)
- WEEK(date) - 返回一年中的第几周
3. 日期格式化函数
4. 日期计算函数
5. 其他实用日期函数
- LAST_DAY(date) - 返回月份的最后一天
- MAKEDATE(year, dayofyear) - 根据年份和天数创建日期
- MAKETIME(hour, minute, second) - 创建时间值
- UNIX_TIMESTAMP() - 返回UNIX时间戳
- FROM_UNIXTIME(unix_timestamp) - 将UNIX时间戳转换为日期时间
6. 日期函数使用示例
以下是一些常见的日期函数使用场景:
-- 查询7天前的日期
SELECT DATE_SUB(CURDATE(), INTERVAL 7 DAY);
-- 计算两个日期之间的月数差
SELECT TIMESTAMPDIFF(MONTH, '2023-01-01', '2023-06-15');
-- 格式化日期显示
SELECT DATE_FORMAT(NOW(), '%W, %M %d %Y %H:%i:%s');
-- 获取本月的第一天
SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL DAY(CURDATE())-1 DAY), '%Y-%m-%d');
掌握这些MySQL日期函数,可以大大提高处理日期时间数据的效率和灵活性。