您的位置:首页 > 娱乐 > 八卦 > MySQL常用的日期和时间函数

MySQL常用的日期和时间函数

2024/10/4 23:41:14 来源:https://blog.csdn.net/m0_64289188/article/details/140998322  浏览:    关键词:MySQL常用的日期和时间函数

文章目录

      • 概述
      • 日期和时间函数

概述

在 MySQL 中,有许多常用的日期和时间函数,可以帮助你处理和操作日期和时间字段。

日期和时间函数

  1. 获取当前日期和时间

    • NOW(): 返回当前的日期和时间。
    • CURRENT_DATE() 或 CURDATE(): 返回当前的日期(不包括时间)。
    • CURRENT_TIME() 或 CURTIME(): 返回当前的时间(不包括日期)。
    SELECT NOW();         -- 例如:2024-08-07 12:34:56
    SELECT CURDATE();     -- 例如:2024-08-07
    SELECT CURTIME();     -- 例如:12:34:56
    
  2. 日期和时间的格式化

    • DATE_FORMAT(date, format): 按指定格式格式化日期。
    SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');  -- 例如:2024-08-07 12:34:56
    
  3. 日期和时间的计算

    • DATE_ADD(date, INTERVAL value unit): 增加指定时间间隔。【同ADDDATE()】
    • DATE_SUB(date, INTERVAL value unit): 减去指定时间间隔。【同SUBDATE()】
    SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);  -- 增加1天
    SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR); -- 减少1小时
    
  4. 提取日期和时间的组成部分

    • YEAR(date): 提取年份。
    • MONTH(date): 提取月份。
    • DAY(date): 提取日期。
    • HOUR(time): 提取小时。
    • MINUTE(time): 提取分钟。
    • SECOND(time): 提取秒。
    SELECT YEAR(NOW());    -- 例如:2024
    SELECT MONTH(NOW());   -- 例如:8
    SELECT DAY(NOW());     -- 例如:7
    SELECT HOUR(NOW());    -- 例如:12
    SELECT MINUTE(NOW());  -- 例如:34
    SELECT SECOND(NOW());  -- 例如:56
    
  5. 日期和时间的比较

    • DATEDIFF(date1, date2): 返回两个日期之间的天数差。【date1-date2】
    • TIMESTAMPDIFF(unit, datetime1, datetime2): 返回两个日期时间之间的指定单位的差值。
    SELECT DATEDIFF('2024-08-10', '2024-08-07');  -- 返回3天
    SELECT TIMESTAMPDIFF(HOUR, '2024-08-07 10:00:00', '2024-08-07 12:00:00');  -- 返回2小时
    
  6. 获取特定时间点的日期

    • LAST_DAY(date): 返回日期所在月份的最后一天。

    • DAYOFWEEK(date): 返回日期对应的星期几(1=星期日,2=星期一,…,7=星期六)。

    • 在这里插入图片描述

    • WEEK(date, mode): 返回日期所在周的周数。

    SELECT LAST_DAY(NOW());         -- 返回当前月的最后一天
    SELECT DAYOFWEEK(NOW());        -- 返回当前日期的星期几
    SELECT WEEK(NOW(), 1);          -- 返回当前日期所在周的周数,mode 1 表示周一为一周的第一天
    

这些函数可以帮助你更高效地处理和操作MySQL中的日期和时间数据,根据具体需求选择合适的函数。


面试问了几次,总结一下。

面试常考SQL:
连接查询
group by
order by
limit

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com