Mysql函数日期和时间函数汇总
MySQL 提供了很多内置日期和时间相关的函数,可以用来在查询中进行日期和时间的计算、格式化等操作,本文将总结并介绍这些函数的使用。
日期和时间类型
在介绍函数之前,我们先来了解一下MySQL支持的日期和时间类型。
- DATE:日期类型,格式为YYYY-MM-DD。
- TIME:时间类型,格式为HH:MM:SS。
- DATETIME:日期时间类型,格式为YYYY-MM-DD HH:MM:SS。
- TIMESTAMP:时间戳类型,格式为YYYY-MM-DD HH:MM:SS,存储时与UTC时区相差的秒数,可以自动进行时间转换。
常用的日期和时间函数
1. CURDATE()、CURTIME()、NOW()
- CURDATE():返回当前系统日期,格式为YYYY-MM-DD。
- CURTIME():返回当前系统时间,格式为HH:MM:SS。
- NOW():返回当前系统日期时间,格式为YYYY-MM-DD HH:MM:SS。
2. DATE_FORMAT()
DATE_FORMAT(date,format)
将日期类型数据按指定的格式转换成字符串并返回。其中date为日期类型数据,format为格式化的字符串。format的格式化字符有很多,具体可以查看MySQL官方文档。下面是一个示例,将日期类型的数据转换成“月/日/年”格式的字符串:
SELECT DATE_FORMAT('2022-02-22', '%m/%d/%Y')
执行完以上语句,会返回结果为“02/22/2022”。
3. DATE_ADD()、DATE_SUB()
- DATE_ADD(date, INTERVAL expr unit):在日期上加上一个时间间隔。
- DATE_SUB(date, INTERVAL expr unit):在日期上减去一个时间间隔。
其中date为表示日期的字符串或者日期类型数据,expr为时间值,unit为时间间隔单位(年、月、日、时、分、秒等)。举个例子,如下语句表示在当前日期时间上加上3天:
SELECT DATE_ADD(NOW(), INTERVAL 3 day)
执行后返回值为当前日期时间加上3天后的结果,格式为YYYY-MM-DD HH:MM:SS。
4. TIMESTAMPDIFF()
TIMESTAMPDIFF(unit,start, end)
该函数用于计算两个日期时间之间的差值,结果以给定单位返回。其中unit表示计算结果要返回的时间间隔单位(年、月、日、时、分、秒等),start和end表示两个日期时间,即开始和结束时间。下面是一个示例,计算两个日期时间之间的差值(单位为天):
SELECT TIMESTAMPDIFF(day, '2022-01-01 00:00:00', '2022-01-04 00:00:00')
该语句的执行结果为“3”,即计算两个日期时间之间相差的天数。
5. UNIX_TIMESTAMP()
UNIX_TIMESTAMP([date])
该函数将日期时间转换为Unix时间戳格式(秒数)。其中date为表示日期的字符串或者日期类型数据,如果该参数为空,则默认使用当前时间。下面是一个示例,将时间‘2022-01-01 01:00:00’转换成Unix时间戳格式:
SELECT UNIX_TIMESTAMP('2022-01-01 01:00:00')
执行后返回值为“1640992800”,即该时间的Unix时间戳格式。
结论
本文介绍了MySQL中常用的日期和时间函数,包括CURDATE()、CURTIME()、NOW()、DATE_FORMAT()、DATE_ADD()、DATE_SUB()、TIMESTAMPDIFF()、UNIX_TIMESTAMP()等函数。这些函数可以方便地处理时间相关的计算和转换。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql函数日期和时间函数汇总 - Python技术站