MySQL常用日期时间函数示例详解 |
MySQL提供了大量的日期和时间函数,这些函数用于在查询中处理和操作日期与时间值 。 参考官方文档:https://dev.mysql.com/doc/refman/8.4/en/date-and-time-functions.html 获取日期时间函数now():获取当前的日期和时间,包含年、月、日、时、分、秒 。 mysql> select now(); +---------------------+ | now() | +---------------------+ | 2024-06-18 07:35:45 | +---------------------+ 1 row in set (0.00 sec) curdate():获取当前的日期,只包含年、月、日部分 。 mysql> select curdate(); +------------+ | curdate() | +------------+ | 2024-06-18 | +------------+ 1 row in set (0.00 sec) curtime():获取当前的时间,只包含时、分、秒部分 。 mysql> select curtime(); +-----------+ | curtime() | +-----------+ | 07:37:31 | +-----------+ 1 row in set (0.00 sec) 日期与时间戳的转化unix_timestamp:将日期转换为UNIX时间戳 。 mysql> select unix_timestamp(now()); +-----------------------+ | unix_timestamp(now()) | +-----------------------+ | 1718696453 | +-----------------------+ 1 row in set (0.00 sec) from_unixtime(timestamp)函数:是将UNIX时间戳转化为日期时间,与unix_timestamp(date)函数互为反函数 。 mysql> select from_unixtime(1718696453); +---------------------------+ | from_unixtime(1718696453) | +---------------------------+ | 2024-06-18 07:40:53 | +---------------------------+ 1 row in set (0.00 sec) 日期格式化date_format():将日期转化为指定格式的字符串 。 mysql> select date_format(now(), '%Y-%m-%d %H:%i:%s'); +-----------------------------------------+ | date_format(now(), '%Y-%m-%d %H:%i:%s') | +-----------------------------------------+ | 2024-06-18 07:47:16 | +-----------------------------------------+ 1 row in set (0.00 sec) str_to_date():将指定格式的字符串转化为日期 。 mysql> select str_to_date('2024-06-18 07:47:16', '%Y-%m-%d %H:%i:%s'); +---------------------------------------------------------+ | str_to_date('2024-06-18 07:47:16', '%Y-%m-%d %H:%i:%s') | +---------------------------------------------------------+ | 2024-06-18 07:47:16 | +---------------------------------------------------------+ 1 row in set (0.00 sec) 下面是一些常用的日期格式符号:
更多的日期格式符号可以参考官方文档 。
日期时间的运算 date_add(date,INTERVAL expr unit):在指定日期上增加时间 。 date_sub(date,INTERVAL expr unit),在指定日期上减去时间 。 参数说明:
mysql> select date_add('2024-04-10',INTERVAL 1 DAY); +---------------------------------------+ | date_add('2024-04-10',INTERVAL 1 DAY) | +---------------------------------------+ | 2024-04-11 | +---------------------------------------+ 1 row in set (0.00 sec) mysql> select date_add('2024-04-10',INTERVAL -1 DAY); +----------------------------------------+ | date_add('2024-04-10',INTERVAL -1 DAY) | +----------------------------------------+ | 2024-04-09 | +----------------------------------------+ 1 row in set (0.00 sec) mysql> select date_sub('2024-04-10',INTERVAL -1 DAY); +----------------------------------------+ | date_sub('2024-04-10',INTERVAL -1 DAY) | +----------------------------------------+ | 2024-04-11 | +----------------------------------------+ 1 row in set (0.00 sec) mysql> select date_sub('2024-04-10',INTERVAL 1 DAY); +---------------------------------------+ | date_sub('2024-04-10',INTERVAL 1 DAY) | +---------------------------------------+ | 2024-04-09 | +---------------------------------------+ 1 row in set (0.00 sec) datediff(expr1,expr2)函数:返回expr1−expr2,以从一个日期到另一个日期的天数表示 。其中expr1和expr2是日期或日期和时间表达式;计算中只使用值的日期部分 。 mysql> select datediff('2024-04-10', '2024-05-10'); +--------------------------------------+ | datediff('2024-04-10', '2024-05-10') | +--------------------------------------+ | -30 | +--------------------------------------+ 1 row in set (0.00 sec) 到此这篇关于MySQL常用日期时间函数的文章就介绍到这了,更多相关MySQL常用日期时间函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! |