首页 / 亚洲服务器 / 正文
MySQL日期转换函数详解,mysql日期格式转换函数

Time:2025年01月06日 Read:7 评论:42 作者:y21dr45

在数据库管理中,日期和时间的操作是日常任务中非常重要的一部分,MySQL 提供了丰富的日期和时间转换函数,帮助开发者高效地处理和操作日期时间数据,本文将详细介绍 MySQL 中的一些主要日期转换函数及其用法。

MySQL日期转换函数详解,mysql日期格式转换函数

一、日期和时间函数概述

MySQL 的日期和时间函数可以大致分为以下几类:

1、日期格式化与解析:如DATE_FORMAT()STR_TO_DATE()

2、当前日期和时间:如NOW(),CURDATE(),CURTIME()

3、日期计算:如DATE_ADD(),DATE_SUB(),DATEDIFF()

4、提取日期/时间部分:如DAY(),MONTH(),YEAR(),HOUR(),MINUTE(),SECOND()

5、日期间隔:如PERIOD_ADD(),PERIOD_DIFF()

6、其他实用函数:如UNIX_TIMESTAMP(),FROM_UNIXTIME()

二、日期格式化与解析

1.DATE_FORMAT(date, format)

DATE_FORMAT() 函数用于将日期值按照指定的格式进行输出,常见的格式符号包括:

%Y: 4位数的年份

%m: 2位数的月份(01-12)

%d: 2位数的日(01-31)

%H: 2位数的小时(00-23)

%i: 2位数的分钟(00-59)

%s: 2位数的秒(00-59)

示例:

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');

结果可能是:

2023-10-05 14:30:15

2.STR_TO_DATE(str, format)

STR_TO_DATE() 函数用于将字符串按照指定的格式解析为日期类型,格式符号与DATE_FORMAT 相同。

示例:

SELECT STR_TO_DATE('10-05-2023', '%m-%d-%Y');

结果为:

2023-10-05

三、当前日期和时间

1.NOW()

返回当前的日期和时间。

示例:

SELECT NOW();

结果可能是:

2023-10-05 14:30:15

2.CURDATE()

返回当前的日期,不包含时间部分。

示例:

SELECT CURDATE();

结果可能是:

2023-10-05

3.CURTIME()

返回当前的时间,不包含日期部分。

示例:

SELECT CURTIME();

结果可能是:

14:30:15

四、日期计算

1.DATE_ADD(date, INTERVAL value unit)

DATE_ADD() 函数用于向日期添加指定的时间间隔。unit 可以是以下值之一:

MICROSECOND

SECOND

MINUTE

HOUR

DAY

WEEK

MONTH

QUARTER

YEAR

示例:

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);

结果可能是:

2023-10-06 14:30:15

2.DATE_SUB(date, INTERVAL value unit)

DATE_SUB() 函数用于从日期减去指定的时间间隔,使用方式与DATE_ADD 类似。

示例:

SELECT DATE_SUB(NOW(), INTERVAL 1 MONTH);

结果可能是:

2023-09-05 14:30:15

3.DATEDIFF(date1, date2)

DATEDIFF() 函数用于计算两个日期之间的天数差。

示例:

SELECT DATEDIFF('2023-10-05', '2023-09-05');

结果为:

30

五、提取日期/时间部分

1.DAY(date)

返回日期中的“天”部分。

示例:

SELECT DAY('2023-10-05');

结果为:

5

2.MONTH(date)

返回日期中的“月”部分。

示例:

SELECT MONTH('2023-10-05');

结果为:

10

3.YEAR(date)

返回日期中的“年”部分。

示例:

SELECT YEAR('2023-10-05');

结果为:

2023

4.HOUR(time)

返回时间中的“小时”部分。

示例:

SELECT HOUR('14:30:15');

结果为:

14

5.MINUTE(time)

返回时间中的“分钟”部分。

示例:

SELECT MINUTE('14:30:15');

结果为:

30

6.SECOND(time)

返回时间中的“秒”部分。

示例:

SELECT SECOND('14:30:15');

结果为:

15

六、日期间隔

1.PERIOD_ADD(p, i)

PERIOD_ADD() 函数用于将周期(以YYMM或YYYYMM格式表示)与指定周期间隔相加。

示例:

SELECT PERIOD_ADD(DATE_FORMAT(NOW(), '%y%m'), 1);

结果可能是:

202311

2.PERIOD_DIFF(p1, p2)

PERIOD_DIFF() 函数用于计算两个周期之间的月份差。

示例:

SELECT PERIOD_DIFF('202310', '202309');

结果为:

1

七、其他实用函数

1.UNIX_TIMESTAMP(date) /FROM_UNIXTIME(unixtime)

这两个函数分别用于将日期转换为 Unix 时间戳和将 Unix 时间戳转换为日期。

示例:

-- 获取当前时间的 Unix 时间戳
SELECT UNIX_TIMESTAMP(NOW());
-- 将 Unix 时间戳转换回日期时间格式
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()));

结果可能分别是:

1696547015
2023-10-05 14:30:15

MySQL 提供了丰富的日期和时间处理函数,帮助开发者轻松实现各种复杂的日期时间操作,掌握这些函数不仅可以提高工作效率,还能使代码更加简洁和易读,通过本文的介绍,希望读者能够对 MySQL 的日期转换函数有一个全面的认识,并在实际工作中灵活应用。

排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1