1. MySQL日期函数深度解析与应用实战
作为数据库开发中最常用的功能之一,日期时间处理在各类业务场景中都扮演着关键角色。MySQL提供了一套完整的日期函数,能够高效处理各种时间相关的计算和转换需求。
1.1 基础日期时间获取函数
获取当前日期是业务系统中最基础的需求,MySQL提供了多种函数来满足不同精度要求:
sql复制-- 获取当前日期(不包含时间)
SELECT current_date();
-- 示例输出:2026-01-26
-- 获取当前时间(不包含日期)
SELECT current_time();
-- 示例输出:14:10:48
-- 获取完整时间戳(日期+时间)
SELECT now();
-- 示例输出:2026-01-26 14:14:18
-- 获取时间戳(功能与now()相同)
SELECT current_timestamp();
实际开发建议:在需要记录精确时间点的场景(如订单创建时间、日志记录等),优先使用now()或current_timestamp(),它们能提供完整的日期时间信息。而current_date()和current_time()更适合只需要日期或时间部分的简单场景。
1.2 日期提取与转换技巧
从完整时间戳中提取特定部分是常见的需求,date()函数可以轻松实现:
sql复制-- 从时间戳中提取日期部分
SELECT date('2026-01-26 14:10:56');
-- 输出:2026-01-26
-- 实际应用示例:统计每日订单量
SELECT date(create_time) as order_date, count(*) as order_count
FROM orders
GROUP BY date(create_time);
1.3 日期运算的实战应用
日期加减是业务系统中最常用的功能之一,MySQL提供了强大的date_add和date_sub函数:
sql复制-- 日期加法(10天后)
SELECT date_add('2050-01-01', interval 10 day);
-- 输出:2050-01-11
-- 日期减法(10天前)
SELECT date_sub(now(),
