
尤其在处理日期和时间数据时,MySQL提供了一系列功能强大的字符串日期函数,使得数据的格式化、转换与计算变得简单易行
本文将全面解析MySQL中的字符串日期函数,并通过实例展示其高效应用
一、获取当前日期和时间函数 1.NOW() NOW()函数是MySQL中最常用的函数之一,用于返回当前的日期和时间
其返回值格式为YYYY-MM-DD HH:MM:SS,非常适用于需要记录操作时间或进行时间戳对比的场景
sql SELECT NOW() AS current_datetime; 2.CURRENT_DATE() CURRENT_DATE()函数返回当前的日期,不包含时间部分
其返回值格式为YYYY-MM-DD,适用于仅需要日期信息的场景
sql SELECT CURRENT_DATE() AS current_date; 3.CURRENT_TIME() CURRENT_TIME()函数返回当前的时间,不包含日期部分
其返回值格式为HH:MM:SS,适用于仅需要时间信息的场景
sql SELECT CURRENT_TIME() AS current_time; 二、日期时间提取函数 1.DATE() DATE()函数从日期时间值中提取日期部分,返回值格式为YYYY-MM-DD
sql SELECT DATE(2025-07-05 12:34:56) AS extracted_date; 2.TIME() TIME()函数从日期时间值中提取时间部分,返回值格式为HH:MM:SS
sql SELECT TIME(2025-07-05 12:34:56) AS extracted_time; 3.YEAR()、MONTH()、DAY() YEAR()、MONTH()、DAY()函数分别从日期时间值中提取年份、月份和日的数值
这些函数在处理需要单独获取年、月、日信息的场景时非常有用
sql SELECT YEAR(2025-07-05) AS year, MONTH(2025-07-05) AS month, DAY(2025-07-05) AS day; 4.HOUR()、MINUTE()、SECOND() HOUR()、MINUTE()、SECOND()函数分别从时间值中提取小时、分钟和秒部分
这些函数在处理需要精确到小时、分钟或秒的时间信息时非常有用
sql SELECT HOUR(12:34:56) AS hour, MINUTE(12:34:56) AS minute, SECOND(12:34:56) AS second; 三、日期时间计算函数 1.ADDDATE()、DATE_ADD() ADDDATE()和DATE_ADD()函数功能相同,用于在当前日期上添加指定的时间间隔
这些函数在处理需要计算未来日期的场景时非常有用
sql SELECT ADDDATE(2025-07-05, INTERVAL 10 DAY) AS future_date; SELECT DATE_ADD(2025-07-05, INTERVAL 1 MONTH) AS future_date; 2.SUBDATE()、DATE_SUB() SUBDATE()和DATE_SUB()函数功能相同,用于从当前日期上减去指定的时间间隔
这些函数在处理需要计算过去日期的场景时非常有用
sql SELECT SUBDATE(2025-07-05, INTERVAL 10 DAY) AS past_date; SELECT DATE_SUB(2025-07-05, INTERVAL 1 MONTH) AS past_date; 3.DATEDIFF() DATEDIFF()函数用于计算两个日期之间的天数差异
这个函数在处理需要计算日期差的场景时非常有用
sql SELECT DATEDIFF(2025-07-15, 2025-07-05) AS days_difference; 4.TIMEDIFF() TIMEDIFF()函数用于计算两个时间之间的时间差
这个函数在处理需要计算时间差的场景时非常有用
sql SELECT TIMEDIFF(14:34:56, 12:34:56) AS time_difference; 5.TIMESTAMPDIFF() TIMESTAMPDIFF()函数返回两个日期时间之间的时间间隔,可以指定间隔的单位(如SECOND、MINUTE、HOUR、DAY等)
这个函数在处理需要计算不同单位时间间隔的场景时非常有用
sql SELECT TIMESTAMPDIFF(DAY, 2025-07-01, 2025-07-05) AS days_difference; 四、日期时间格式化与转换函数 1.DATE_FORMAT() DATE_FORMAT()函数用于将日期或时间值格式化为指定的格式
这个函数在处理需要自定义日期时间格式的场景时非常有用
sql SELECT DATE_FORMAT(2025-07-05 12:34:56, %Y-%m-%d %H:%i:%s) AS formatted_datetime; 2.STR_TO_DATE() STR_TO_DATE()函数用于将字符串转换为日期或时间格式
这个函数在处理需要将非标准日期时间字符串转换为MySQL日期时间格式的场景时非常有用
sql SELECT STR_TO_DATE(05-Jul-2025, %d-%b-%Y) AS converted_date; 五、其他常用日期时间函数 1.LAST_DAY() LAST_DAY()函数返回指定日期所在月份的最后一天的日期
这个函数在处理需要获取月份最后一天日期的场景时非常有用
sql SELECT LAST_DAY(2025-07-05) AS last_day_of_month; 2.UNIX_TIMESTAMP()、FROM_UNIXTIME() UNIX_TIMESTAMP()函数用于将日期时间值转换为Unix时间戳,而FROM_UNIXTIME()函数则用于将Unix时间戳转换回日期时间格式
这两个函数在处理需要与时间戳进行转换的场景时非常有用
sql SELECT UNIX_TIMESTAMP(2025-07-05 12:34:56) AS unix_timestamp; SELECT FROM_UNIXTIME(1688563200) AS datetime_from_unix; 3.TIME_TO_SEC()、SEC_TO_TIME() TIME_TO_SEC()函数用于将时间值转换为秒数,而SEC_TO_TIME()函数则用于将秒数转换回时间格式
这两个函数在处理需要将时间转换为秒数或进行秒数到时间转换的场景时非常有用
sql SELECT TIME_TO_SEC(01:00:05) AS seconds; SELECT SEC_TO_TIME(3605) AS time; 六、高效应用实例 以下是一个综合应用MySQL字符串日期函数
全方位监控MySQL:确保数据库无忧运行
MySQL字符串日期函数实用指南
检查MySQL服务端是否开启指南
MySQL分区:提升性能与管理的利器
后盾网MySQL数据库实战指南
MySQL锁机制详解:流程与实战应用
揭秘MySQL索引信息表:优化查询性能的关键要素
全方位监控MySQL:确保数据库无忧运行
检查MySQL服务端是否开启指南
MySQL分区:提升性能与管理的利器
后盾网MySQL数据库实战指南
MySQL锁机制详解:流程与实战应用
揭秘MySQL索引信息表:优化查询性能的关键要素
MySQL筛选最大值技巧揭秘
MySQL设置白名单教程
MySQL提取年月数据技巧
Linux下MySQL安装后的配置调整
解决MySQL导入错误87的实用指南
MySQL中左右连接的必要性:提升数据查询效率与完整性