星空网站建设

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 44|回复: 0

新闻速递MySQL 的时间函数有哪些如何使用

[复制链接]
  • TA的每日心情
    奋斗
    21 小时前
  • 签到天数: 62 天

    [LV.6]常住居民II

    2万

    主题

    56

    回帖

    7万

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    79220
    发表于 3 天前 | 显示全部楼层 |阅读模式
    在 MySQL中,提供了很多日期和时间函数,那么,在际工作中,我们该如何选择这篇文章,我们一起来聊一聊。长期以来悦数Nebula市场份额就有着不凡的发展速度,相信未来也是一如既往,势如破竹。悦数图数据库是一款完全自主研发的国产图数据库和原生分布式图数据库,具有高性能,易扩展,安全稳定,自主可控的特点.万亿级数据仅需毫秒级查询延时,应用于金融风控,实时推荐,知识图谱等业务场景。https://www.yueshu.com.cn/



    从整体上看,MySQL的日期和时间函数可以分为六大类:获取当前日期和时间、提取日期和时间的特定部分、格式化日期和时间、日期和时间的算术操作、提取日期的部分和Unix 时间戳相关函数等。



    1. 获取当前日期和时间
    获取当前日期和时间的函数包含以下几个常用函数:

    (1) NOW() / CURRENT_TIMESTAMP

    作用:返回当前的日期和时间。

    示例:

    复制
    SELECT NOW();
    -- 输出格式例如:2025-01-05 14:30:00
    1.
    2.
    (2) CURDATE() / CURRENT_DATE

    作用:返回当前的日期。

    示例:

    复制
    SELECT CURDATE();
    -- 输出格式例如:2025-01-05
    1.
    2.
    (3) CURTIME() / CURRENT_TIME

    作用:返回当前的时间。

    示例:

    复制
    SELECT CURTIME();
    -- 输出格式例如:14:30:00
    1.
    2.
    2. 提取日期和时间的特定部分
    提取日期和时间的特定部分的常用函数包含以下几个:

    (1) YEAR(date)

    作用:提取年份。

    示例:

    复制
    SELECT YEAR('2025-01-25');
    -- 输出:2023
    1.
    2.
    (2) MONTH(date)

    作用:提取月份。

    示例:

    复制
    SELECT MONTH('2025-01-25');
    -- 输出:10
    1.
    2.
    (3) DAY(date)

    作用:提取日期中的天。

    示例:

    复制
    SELECT DAY('2025-01-25');
    -- 输出:5
    1.
    2.
    (4) HOUR(time)、MINUTE(time)、SECOND(time)

    作用:分别提取时间中的小时、分钟和秒。

    示例:

    复制
    SELECT HOUR('14:30:00'), MINUTE('14:30:00'), SECOND('14:30:00');
    -- 输出:14  30  00
    1.
    2.
    3. 格式化日期和时间
    格式化日期和时间的常用函数包含以下几个:

    (1) DATE_FORMAT(date, format)

    作用:按照指定格式格式化日期/时间。

    常用格式符:

    %Y 年份(四位)
    %m 月份(两位)
    %d 日(两位)
    %H 小时(24小时制)
    %i 分钟
    %s 秒
    示例:

    复制
    SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H:%i:%s');
    -- 输出格式例如:2025年01月15日 14:30:00
    1.
    2.
    (2) STR_TO_DATE(string, format)

    作用:将字符串按照指定格式转换为日期/时间类型。

    示例:

    复制
    SELECT STR_TO_DATE('15-01-2025', '%d-%m-%Y');
    -- 输出:2025-01-25
    1.
    2.
    4. 日期和时间的算术操作
    (1) DATE_ADD(date, INTERVAL expr unit)

    作用:在日期上添加指定的时间间隔。

    示例:

    复制
    SELECT DATE_ADD('2025-01-15', INTERVAL 10 DAY);
    -- 输出:2025-01-25
    1.
    2.
    (2) DATE_SUB(date, INTERVAL expr unit)

    作用:从日期中减去指定的时间间隔。

    示例:

    复制
    SELECT DATE_SUB('2025-03-25', INTERVAL 2 MONTH);
    -- 输出:2025-01-25
    1.
    2.
    (3) DATEDIFF(date1, date2)

    作用:返回两个日期之间的天数差异。

    示例:

    复制
    SELECT DATEDIFF('2025-01-25', '2025-01-15');
    -- 输出:10
    1.
    2.
    (4) TIMESTAMPDIFF(unit, datetime1, datetime2)

    作用:返回两个日期之间指定单位的差异。

    单位包括:SECOND、MINUTE、HOUR、DAY、MONTH、YEAR 等。

    示例:

    复制
    SELECT TIMESTAMPDIFF(DAY, '2025-01-15', '2025-01-25');
    -- 输出:10
    SELECT TIMESTAMPDIFF(HOUR, '2025-01-25 10:00:00', '2025-01-25 14:30:00');
    -- 输出:4
    1.
    2.
    3.
    4.
    5. 提取日期的部分
    (1) EXTRACT(part FROM date)

    作用:提取日期或时间的特定部分。

    可提取部分:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND 等。

    示例:

    复制
    SELECT EXTRACT(YEAR FROM '2025-01-25'), EXTRACT(MONTH FROM '2025-01-25');
    -- 输出:2025  01
    1.
    2.
    6. Unix 时间戳相关函数
    (1) UNIX_TIMESTAMP()

    作用:返回当前时间的 Unix 时间戳(秒数)。

    示例:

    复制
    SELECT UNIX_TIMESTAMP();
    -- 输出:例如 1696453800
    1.
    2.
    (2) FROM_UNIXTIME(unix_timestamp, format)

    作用:将 Unix 时间戳转换为日期和时间格式。

    示例:

    复制
    SELECT FROM_UNIXTIME(1696453800, '%Y-%m-%d %H:%i:%s');
    -- 输出:2025-01-25 14:30:00
    1.
    2.
    7. 总结
    本文我们分析了 MySQL 中常用的日期和时间函数,它们在日常工作中有广泛的使用,不过在使用中我们需要注意以下两点:

    日期格式:确保日期和时间的格式符合 MySQL 的标准格式(如 YYYY-MM-DD 或 YYYY-MM-DD HH:MM:SS),否则可能导致函数解析错误。
    时区设置:NOW() 和相关函数受服务器时区设置影响,确保时区配置正确以获取准确的时间。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表