当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • oracle 比较两个值取小使用LEAST函数
  • 2024年湖北省建筑施工特种作业人员证书延期申请/年审
  • 精彩回顾 | ROS暑期“无人机自主追踪小车”训练营
  • 深度学习四大框架之争(Tensorflow、Pytorch、Keras和Paddle)
  • 鸿蒙笔记--Socket
  • 数据结构(邓俊辉)学习笔记】词典 02—— 散列函数
  • 用python实现求两个整数的最大公约数
  • vue 开发工具 Hbuilder 简介及应用
  • Python教程(十二):面向对象高级编程详解
  • haproxy的安装和服务信息
  • 管好“黄金数据”,浪潮海岳助力企业释放主数据潜能
  • LVS集群中的负载均衡技术
  • springboot怎么使用Redisson
  • C#表达式编程指南: 执行表达式、解释表达式、生成表达式,翻译表达式的详解与示例
  • 【5G NAS】全球唯一临时标识符GUTI介绍
  • 【391天】每日项目总结系列128(2018.03.03)
  • CentOS6 编译安装 redis-3.2.3
  • Docker容器管理
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • javascript数组去重/查找/插入/删除
  • JavaScript中的对象个人分享
  • js算法-归并排序(merge_sort)
  • Magento 1.x 中文订单打印乱码
  • npx命令介绍
  • SpringCloud集成分布式事务LCN (一)
  • 闭包--闭包作用之保存(一)
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 用Canvas画一棵二叉树
  • 用Visual Studio开发以太坊智能合约
  • 最简单的无缝轮播
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • postgresql行列转换函数
  • UI设计初学者应该如何入门?
  • # 详解 JS 中的事件循环、宏/微任务、Primise对象、定时器函数,以及其在工作中的应用和注意事项
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • $().each和$.each的区别
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (39)STM32——FLASH闪存
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (void) (_x == _y)的作用
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (面试必看!)锁策略
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (一)、python程序--模拟电脑鼠走迷宫
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...