MySQL提供了多种日期和时间处理函数,用于执行各种日期和时间的操作。
以下是一些常用的日期时间处理函数及其使用说明:
- NOW() / SYSDATE() / CURRENT_TIMESTAMP
- 功能: 返回当前的日期和时间。
- 示例:
SELECT NOW();
返回格式为 ‘YYYY-MM-DD HH:MM:SS’ 的当前日期和时间。
- CURDATE() / CURRENT_DATE
- 功能: 返回当前的日期。
- 示例:
SELECT CURDATE();
返回格式为 ‘YYYY-MM-DD’ 的当前日期。
- CURTIME() / CURRENT_TIME
- 功能: 返回当前的时间。
- 示例:
SELECT CURTIME();
返回格式为 ‘HH:MM:SS’ 的当前时间。
- ADDDATE(date, INTERVAL expr type) / DATE_ADD(date, INTERVAL expr type)
- 功能: 给指定日期添加指定的时间间隔。
- 示例:
SELECT ADDDATE('2024-01-01', INTERVAL 7 DAY);
返回 ‘2024-01-08’。
- SUBDATE(date, INTERVAL expr type) / DATE_SUB(date, INTERVAL expr type)
- 功能: 从指定日期减去指定的时间间隔。
- 示例:
SELECT SUBDATE('2024-01-01', INTERVAL 7 DAY);
返回 ‘2023-12-25’。
- DATEDIFF(date1, date2)
- 功能: 返回两个日期之间的天数差。
- 示例:
SELECT DATEDIFF('2024-01-01', '2024-01-08');
返回 -7。
- DATE_FORMAT(date, format)
- 功能: 按照指定的格式来显示日期/时间值。
- 示例:
SELECT DATE_FORMAT('2024-01-01', '%Y年 %M月 %d日');
返回 ‘2024年 January月 01日’。
- EXTRACT(type FROM date)
- 功能: 从日期中提取特定的部分,如年、月、日等。
- 示例:
SELECT EXTRACT(YEAR FROM '2024-01-01');
返回 2024。
- UNIX_TIMESTAMP() / UNIX_TIMESTAMP(date)
- 功能: 返回当前日期或指定日期的UNIX时间戳。
- 示例:
SELECT UNIX_TIMESTAMP('2024-01-01');
返回相应的UNIX时间戳。
- FROM_UNIXTIME(unix_timestamp)
- 功能: 将UNIX时间戳转换为普通格式的时间。
- 示例:
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2024-01-01'));
返回 ‘2024-01-01 00:00:00’。