MySQL字符串日期函数实用指南
mysql 字符串日期函数大全

首页 2025-07-05 22:19:38



MySQL字符串日期函数大全:全面解析与高效应用 在当今的数据处理与分析领域,MySQL作为一款强大的关系型数据库管理系统,其丰富的函数库为开发者提供了极大的便利

    尤其在处理日期和时间数据时,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日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道