当涉及到日期操作时,MySQL提供了许多内置的日期函数。以下是一些常用的MySQL日期函数以及带有返回值的示例:
CURDATE():返回当前日期。 示例:SELECT CURDATE(); -- 返回当前日期,例如:2024-01-09
NOW():返回当前日期和时间。 示例:SELECT NOW(); -- 返回当前日期和时间,例如:2024-01-09 08:40:08
DATE_FORMAT(date, format):将日期格式化为指定的字符串格式。 示例:SELECT DATE_FORMAT(NOW(), '%Y-%m-%d'); -- 将当前日期格式化为年-月-日的格式,例如:2024-01-09
YEAR(date):返回一个日期的年份。 示例:SELECT YEAR('2022-12-31'); -- 返回日期的年份,例如:2022
MONTH(date):返回一个日期的月份。 示例:SELECT MONTH('2022-12-31'); -- 返回日期的月份,例如:12
DAY(date):返回一个日期的天数。 示例:SELECT DAY('2022-12-31'); -- 返回日期的天数,例如:31
HOUR(time):返回一个时间的小时数。 示例:SELECT HOUR('12:34:56'); -- 返回时间的小时数,例如:12
MINUTE(time):返回一个时间的分钟数。 示例:SELECT MINUTE('12:34:56'); -- 返回时间的分钟数,例如:34
SECOND(time):返回一个时间的秒数。 示例:SELECT SECOND('12:34:56'); -- 返回时间的秒数,例如:56
DATE_ADD(date, INTERVAL expr unit):在给定的日期上添加一个时间间隔。 示例:SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH); -- 在指定日期上添加一个月,例如:2022-02-01
DATE_SUB(date, INTERVAL expr unit):从给定的日期中减去一个时间间隔。 示例:SELECT DATE_SUB('2022-01-01', INTERVAL 1 WEEK); -- 从指定日期中减去一周,例如:2021-12-25
DATEDIFF(date1, date2):计算两个日期之间的天数差。 示例:SELECT DATEDIFF('2022-12-31', '2022-01-01'); -- 计算两个日期之间的天数差,例如:364
TIMESTAMPDIFF(unit, start_datetime, end_datetime):计算两个日期或时间之间的差值,单位可以是秒、分钟、小时、天等。 示例:SELECT TIMESTAMPDIFF(MINUTE, '2022-01-01 00:00:00', '2022-01-01 00:30:00'); -- 计算两个时间之间的分钟差,例如:30
UNIX_TIMESTAMP([datetime]):将日期或时间转换为Unix时间戳。 示例:SELECT UNIX_TIMESTAMP('2023-12-31 23:34:34'); -- 将指定日期时间转换为Unix时间戳,例如:1704036874
FROM_UNIXTIME(unix_timestamp, [format]):将Unix时间戳转换为日期或时间格式。 示例:SELECT FROM_UNIXTIME(1704036874, '%Y-%m-%d %H:%i:%s'); -- 将Unix时间戳转换为指定格式的日期时间,例如:2023-12-31 23:34:34
这些函数提供了强大的日期操作功能,可以帮助你在MySQL中进行日期的比较、计算和格式化。示例中的返回值是根据具体的输入和函数调用得出的结果。你可以根据自己的需求使用这些函数,并根据需要调整相应的查询语句。