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字符串日期函数

nat123映射怎么用?超详细步骤,外网访问内网轻松搞定
nat123域名怎么用?两种方式轻松搞定
nat123怎么用?简单几步实现内网穿透
内网穿透工具对比:nat123、花生壳与轻量新选择
远程访问内网很简单:用对工具,一“箭”穿透
ngrok下载完全指南:从入门到获取客户端
内网远程桌面软件:穿透局域网边界的数字窗口
从外网远程访问内网服务器的完整方案
Windows Server 2008端口转发完全教程:netsh命令添加/查看/删除/重置
为什么三层交换机转发比Linux服务器快?转发表硬件加速的秘密