MySQL中关于日期函数汇总

 关于mysql日期时间函数,每回总能发现一些新特性,索性做一次统一的整理,补充下笔记库。可以会有所遗漏,欢迎补充。

      本文整理了30个时间日期函数,分为4个段落分析,详见下文。

 

MySQL中关于日期函数汇总

1 获取时间函数

获取当前时间

sysdate()

now() , current_timestamp(), current_timestamp,LOCALTIME ,LOCALTIME() ,LOCALTIMESTAMP ,LOCALTIMESTAMP()

休息ns

sleep(n)

例子

相同点:获取当前时刻

区别:返回时刻是什么时候,执行SQL还是调用该函数的时间值

MySQL中关于日期函数汇总

sysdate(),返回函数调用时刻的时间值

now() ,current_timestamp()/current_timestamp ,LOCALTIME ,LOCALTIME() ,LOCALTIMESTAMP ,LOCALTIMESTAMP()  返回语句调用时的时间值;

使用过程中,请明确清理这三者的区别

MySQL中关于日期函数汇总

now() , current_timestamp(), current_timestamp,LOCALTIME ,LOCALTIME() ,LOCALTIMESTAMP ,LOCALTIMESTAMP()

2 时间计算函数

时间之差

datediff(date1, date2 ),timediff(time1 , time2 ),  timestampdiff(interval,datetime_expr1,datetime_expr2)

时间加减法

date_sub( date, INTERVAL expr type )

DATE_ADD(date,INTERVAL expr type)

adddate(date,INTERVAL expr type ) ,timestampadd(interval, count, timestamp)

例子

两个时间之差

interval 可以是:

FRAC_SECOND 毫秒 ,SECOND 秒 ,MINUTE 分钟 ,HOUR 小时

DAY 天 ,WEEK 星期 ,MONTH 月 ,QUARTER 季度 ,YEAR 年

MySQL中关于日期函数汇总

两个时间相减的相差时间,注意,需要是一样的格式

MySQL中关于日期函数汇总

两个日期相减得相差天数,注意,两个需是一样的格式

MySQL中关于日期函数汇总

datediff( date1, date2 )

timediff( time1 , time2 )

TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2)

date_sub( date, INTERVAL expr type )

日期减去指定的时间间隔。

expr为正,则为减去这个时间间隔;expr为负,减去负数,等于加法

date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。type可以参考下方

@date = ‘2017-09-09 09:09:09’

Type 值                

MICROSECOND十分之一秒 , ±ndate_sub( @date ,INTERVAL 2 MICROSECOND )2017-09-09 09:09:08.999998SECOND秒date_sub( @date ,INTERVAL 2 SECOND )2017-09-09 09:09:07MINUTE分钟date_sub( @date ,INTERVAL 2 MINUTE )2017-09-09 09:07:09HOUR小时date_sub( @date ,INTERVAL 2 HOUR)2017-09-09 07:07:09DAY天date_sub( @date ,INTERVAL 2 DAY )2017-09-07 09:09:09WEEK周date_sub( @date ,INTERVAL 2 WEEK )2017-08-26 09:09:09MONTH月date_sub( @date ,INTERVAL 2 MONTH )2017-07-09 09:09:09QUARTER(季度,3个月)季度date_sub( @date ,INTERVAL 2 QUARTER )2017-03-09 09:09:09YEAR年date_sub( @date ,INTERVAL 2 YEAR )2015-09-09 09:09:09SECOND_MICROSECOND表达式,从秒到十分之1秒date_sub( @date ,INTERVAL ‘2.2’ SECOND_MICROSECOND )2017-09-09 09:09:06.980000MINUTE_MICROSECOND表达式,从分钟到十分之一秒date_sub( @date ,INTERVAL ‘2:2.2’ MINUTE_MICROSECOND )2017-09-09 09:07:06.800000MINUTE_SECOND表达式,从分钟到秒date_sub( @date ,INTERVAL ‘2:2’ MINUTE_SECOND )2017-09-09 09:07:07HOUR_MICROSECOND表达式,从小时到十分之一秒date_sub( @date ,INTERVAL ‘2:2:2.2’ HOUR_MICROSECOND )2017-09-09 07:07:06.800000HOUR_SECOND表达式,小时到秒date_sub( @date ,INTERVAL  ‘2:2:2’  HOUR_SECOND )2017-09-09 07:07:07HOUR_MINUTE表达式,小时到分钟date_sub( @date ,INTERVAL ‘2:2’  HOUR_MINUTE )2017-09-09 07:07:09DAY_MICROSECOND表达式,天到十分之一秒,date_sub( @date ,INTERVAL ‘2 2:2:2.2’ DAY_MICROSECOND )2017-09-07 07:07:06.800000DAY_SECOND表达式,天到秒,date_sub( @date ,INTERVAL  ‘2 2:2:2’  DAY_SECOND )2017-09-07 07:07:07DAY_MINUTE表达式,天到分钟,date_sub( @date ,INTERVAL ‘2 2:2 ‘ DAY_MINUTE )2017-09-07 07:07:09DAY_HOUR表达式,天到小时,date_sub( @date ,INTERVAL ‘2 2’  DAY_HOUR )2017-09-07 07:09:09YEAR_MONTH表达式,年到月,date_sub( @date ,INTERVAL ‘2 2’ YEAR_MONTH )2015-07-09 09:09:09

DATE_ADD(date,INTERVAL expr type)

日期增加指定的时间间隔,使用方法 跟 date_sub一样

adddate(date,INTERVAL expr type )

日期增加 n 天

日期增加指定的时间间隔,使用方法 DATE_ADD  一样

adddate(date,INTERVAL expr type )

adddate(date, n )

timestampadd(interval, count, timestamp)

Year

quarter

Month

Day

Week

Hour

minute

second

millisecond

MySQL中关于日期函数汇总

时间增加函数

3 时间转换函数

from_unixtime(),unix_timestamp()

前者将 时间戳 转化为 日期时间 格式,后者将 日期时间 格式转化为时间戳

makedate(year, day_of_year),maketime(hour,minute,second)

makedate 根据 年份跟年份中的第几天,转化为日期

maketime 根据 小时 分钟 秒 ,转化为时间

date(datetime),timestamp(date [,time])

前者将 日期时间 格式 转化为 日期格式(仅含有 年月日),后者 将日期 转化为 日期时间 格式

convert_tz(datetime, from_tz, to_tz)

根据 A 时区的时间,返回在B时区 的时间是多少

date_format(datetime,format),str_to_date(string,format)

前者将 日期时间 转化为 指定格式的文本,后者将 文本 转化为制定格式的 日期时间

实际应用

SELECT NOW(),DATE_FORMAT(NOW(),’%Y-%m-%d’) ‘%Y-%m-%d’;

MySQL中关于日期函数汇总

时间模块

怪兽AI数字人 怪兽AI数字人

数字人短视频创作,数字人直播,实时驱动数字人

怪兽AI数字人 44 查看详情 怪兽AI数字人

小时

分钟

%X     年,其中的星期日是周的第一天,4 位,与 %V 使用

%x     年,其中的星期一是周的第一天,4 位,与 %v 使用

%Y     年,4 位

%y     年,2 位

MySQL中关于日期函数汇总

%b     缩写月名

%c     月,数值

%M     月名

%m     月,数值(00-12)

MySQL中关于日期函数汇总

%D     带有英文前缀的月中的天

%d     月的天,数值(00-31)

%e     月的天,数值(0-31)

%j     年的天 (001-366)

MySQL中关于日期函数汇总

%T     时间, 24-小时 (hh:mm:ss)

%r     时间,12-小时(hh:mm:ss AM 或 PM)

MySQL中关于日期函数汇总MySQL中关于日期函数汇总

%H     小时 (00-23)

%k     小时 (0-23)

%h     小时 (01-12)

%I     小时 (01-12) #%h跟%I,没区别 ( 大写的 i )

%l     小时 (1-12) 小写的 L

%p     AM 或 PM

MySQL中关于日期函数汇总

MySQL中关于日期函数汇总

%i     分钟,数值(00-59)

MySQL中关于日期函数汇总

%S     秒(00-59)

%s     秒(00-59)

%f     微秒

%a     缩写星期名

%W     星期名,英文全称 Saturday

%w     周的天 (0=星期日, 6=星期六,0-6)

%U     周 (00-52) 星期日是一周的第一天

%u     周 (00-52) 星期一是一周的第一天

%V     周 (01-53) 星期日是一周的第一天,与 %X 使用

%v     周 (01-53) 星期一是一周的第一天,与 %x 使用

MySQL中关于日期函数汇总

将 string 转化为 日期格式,string 哪几个字符是年月日时间,由format匹配

MySQL中关于日期函数汇总

时区转化

datetime为from_zt的时区,返回to_tz时区的时间

MySQL中关于日期函数汇总

时间戳到转换

MySQL中关于日期函数汇总

日期时间格式 转化为 日期格式

MySQL中关于日期函数汇总

makedate 根据 年份跟年份中的第几天,转化为日期

maketime 根据 小时 分钟 秒 ,转化为时间

MySQL中关于日期函数汇总

将时间转化为时间戳

MySQL中关于日期函数汇总

将时间戳转化为时间

MySQL中关于日期函数汇总

from_unixtime

unix_timestamp

makedate(year, day_of_year),maketime(hour,minute,second)

date(datetime)

timestamp(date),timestamp(date,time)

convert_tz(datetime,from_tz,to_tz)

str_to_date(string,format)

date_format

4 获取部分函数

获取第几天

to_days(datetime ),dayofyear(datetime ),dayofmonth(datetime)

todays返回从 ‘0000-00-00’ 到datetime之间隔了多少天

dayofyear,返回 datetime 这一天是一年中的第几天

dayofmonth,返回 datetime 这一天是 一个月中的第几天

MySQL中关于日期函数汇总

秒转化

time_to_sec(time),sec_to_time(number)

前者根据时间转化为秒数,后者根据秒数转化为时间

MySQL中关于日期函数汇总

 

以上就是MySQL中关于日期函数汇总的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/389945.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
立足福建,辐射全国,华福成长投资荣获“2025 IC风云榜-年度最佳国资投资机构奖”
上一篇 2025年11月6日 15:16:30
苹果WWDC25:6月10日一起开眼,iOS 19没了?!
下一篇 2025年11月6日 15:16:39

相关推荐

  • Java PreparedStatement

    大家好,很高兴再次与大家见面,我是你们的老朋友全栈君。 Java PreparedStatement与Statement类似,是Java JDBC Framework的一部分。它用于对数据库执行CRUD操作。PreparedStatement扩展了Statement接口。由于支持参数化查询,Prep…

    2026年9月23日
    2500
  • mysql怎么添加外键索引 mysql创建外键索引的步骤解析

    mysql怎么添加外键索引 mysql创建外键索引的步骤解析mysql怎么添加外键索引 mysql创建外键索引的步骤解析mysql怎么添加外键索引 mysql创建外键索引的步骤解析mysql怎么添加外键索引 mysql创建外键索引的步骤解析

    mysql在创建外键时通常会自动为外键列添加索引,以确保数据完整性检查和关联查询效率。1. 创建表时定义外键:mysql会自动为外键列创建索引;2. 为现有表添加外键:mysql同样会自动创建相应索引;3. 显式添加或确认索引:可通过show indexes或create index/alter t…

    2026年9月23日 用户投稿
    300
  • mysql如何进入编辑模式 mysql输入sql语句创建数据库

    mysql如何进入编辑模式 mysql输入sql语句创建数据库mysql如何进入编辑模式 mysql输入sql语句创建数据库mysql如何进入编辑模式 mysql输入sql语句创建数据库mysql如何进入编辑模式 mysql输入sql语句创建数据库

    创建mysql数据库需登录后执行sql语句;避免sql注入用参数化查询、输入验证、最小权限原则、waf;解决乱码需统一客户端、数据库、表编码为utf8mb4;优化查询性能可通过索引、explain分析、避免select *、使用join、分页优化、定期维护、硬件升级、缓存。 想要用MySQL创建数据…

    2026年9月23日 用户投稿
    1500
  • CodeIgniter 动态多数据库连接与数据导入实践指南

    本文详细介绍了在 CodeIgniter 框架中,如何根据用户输入的动态数据库凭证建立并管理第二个数据库连接。通过构建自定义连接配置数组,并利用 CodeIgniter 的数据库加载机制,开发者可以灵活地切换数据库实例,从而实现从外部数据库导入数据到主数据库的功能,提升应用的灵活性和数据处理能力。 …

    2026年9月23日
    000
  • 如何在mysql中调试触发器逻辑错误

    答案是使用日志表、手动验证逻辑、SIGNAL报错和检查触发器顺序可调试MySQL触发器。通过创建trigger_log表记录执行信息,将触发器逻辑在客户端分步测试,利用SIGNAL主动抛出异常,并用SHOW TRIGGERS检查多触发器冲突,系统化暴露问题。 在 MySQL 中调试触发器逻辑错误没有…

    2026年9月23日
    000
  • mysql怎么修改索引 mysql索引创建与更新操作教程

    mysql怎么修改索引 mysql索引创建与更新操作教程mysql怎么修改索引 mysql索引创建与更新操作教程mysql怎么修改索引 mysql索引创建与更新操作教程mysql怎么修改索引 mysql索引创建与更新操作教程

    mysql中修改索引的正确方法是删除旧索引并创建新索引,因为mysql不支持直接修改索引结构;1. 创建索引可通过create index或alter table add index实现,用于加速数据检索;2. 删除索引使用drop index或alter table drop index,操作前需…

    2026年9月23日 用户投稿
    200
  • mysql安装后怎么可视化 mysql图形界面工具安装使用

    mysql安装后怎么可视化 mysql图形界面工具安装使用mysql安装后怎么可视化 mysql图形界面工具安装使用mysql安装后怎么可视化 mysql图形界面工具安装使用mysql安装后怎么可视化 mysql图形界面工具安装使用

    要更方便地操作 mysql 数据库,推荐使用图形界面工具。常见的有:1. mysql workbench(官方工具,功能全面)2. navicat for mysql(商业软件,界面简洁,功能丰富)3. dbeaver(开源免费,跨平台支持)4. phpmyadmin(基于 web,适合 php 环…

    2026年9月23日 用户投稿
    300
  • 如何在mysql中备份和恢复视图

    备份视图需导出其CREATE VIEW语句,可使用mysqldump、SHOW CREATE VIEW或批量查询INFORMATION_SCHEMA.VIEWS;恢复时确保基础表存在并执行原创建语句,注意依赖关系、结构一致性和权限设置。 在 MySQL 中,视图本身不存储数据,它是一个基于 SQL …

    2026年9月23日
    1000
  • mysql怎么删除索引 mysql创建和删除索引的完整指南

    mysql怎么删除索引 mysql创建和删除索引的完整指南mysql怎么删除索引 mysql创建和删除索引的完整指南mysql怎么删除索引 mysql创建和删除索引的完整指南mysql怎么删除索引 mysql创建和删除索引的完整指南

    mysql中删除和创建索引主要通过drop index、create index或alter table语句实现,推荐使用alter table以增强语义清晰度。1. 删除索引可使用drop index index_name on table_name; 或alter table table_nam…

    2026年9月23日 用户投稿
    1500
  • mysql如何输入注释 mysql写sql代码的格式规范

    mysql如何输入注释 mysql写sql代码的格式规范mysql如何输入注释 mysql写sql代码的格式规范mysql如何输入注释 mysql写sql代码的格式规范mysql如何输入注释 mysql写sql代码的格式规范

    在mysql中,单行注释使用–(后跟空格)或#,多行注释使用/*…*/。1. 注释应解释“为什么”而非“是什么”,单行注释推荐使用–,#常用于脚本开头;2. 多行注释适用于复杂逻辑说明或版权信息;3. sql格式规范包括关键词大写、统一缩进、合理换行与逗号放置,以…

    2026年9月23日 用户投稿
    400
  • mysql怎么添加降序索引 mysql创建排序索引的语法详解

    mysql怎么添加降序索引 mysql创建排序索引的语法详解mysql怎么添加降序索引 mysql创建排序索引的语法详解mysql怎么添加降序索引 mysql创建排序索引的语法详解mysql怎么添加降序索引 mysql创建排序索引的语法详解

    mysql从8.0版本开始支持降序索引,通过在列名后添加desc关键字创建,例如create index idx_order_date_desc on orders (order_date desc);。1. 降序索引优化了order by column desc查询的性能,避免文件排序;2. 升序…

    2026年9月23日 用户投稿
    100
  • mysql索引类型有哪些 mysql创建不同索引的方法对比

    mysql索引类型有哪些 mysql创建不同索引的方法对比mysql索引类型有哪些 mysql创建不同索引的方法对比mysql索引类型有哪些 mysql创建不同索引的方法对比mysql索引类型有哪些 mysql创建不同索引的方法对比

    mysql支持多种索引类型,选择合适的索引类型可提升数据库性能。1.b-tree索引适用于等值、范围查询和排序,是innodb和myisam的默认索引;2.hash索引仅适合等值查询,不支持范围和排序,memory引擎支持显式创建;3.fulltext索引用于文本搜索,适合关键词查找;4.空间索引(…

    2026年9月23日 用户投稿
    000
  • mysql安装完成如何事件 mysql定时任务设置教程

    mysql安装完成如何事件 mysql定时任务设置教程mysql安装完成如何事件 mysql定时任务设置教程mysql安装完成如何事件 mysql定时任务设置教程mysql安装完成如何事件 mysql定时任务设置教程

    要使用mysql的事件调度器设置定时任务,首先需开启事件调度器,其次创建定时事件,再查看管理事件,最后注意权限与时间格式等问题。具体步骤如下:1. 开启事件调度器:通过命令或配置文件启用;2. 创建事件:使用create event定义执行频率与sql操作;3. 管理事件:可查看、修改或删除已有事件…

    2026年9月23日 用户投稿
    100
  • 如何在mysql中优化多表JOIN查询

    答案:优化MySQL多表JOIN需创建关联字段索引、提前过滤数据、选择合适JOIN类型与表序、利用EXPLAIN分析执行计划,并定期更新统计信息以提升查询效率。 在MySQL中优化多表JOIN查询,关键在于减少数据扫描量、提升连接效率,并合理利用索引和执行计划。以下是一些实用的优化策略。 1. 确保…

    2026年9月23日
    300
  • MySQL安装需要哪些硬件配置要求?

    MySQL安装需要哪些硬件配置要求?MySQL安装需要哪些硬件配置要求?MySQL安装需要哪些硬件配置要求?MySQL安装需要哪些硬件配置要求?

    mysql的硬件配置需根据应用场景和负载决定,生产环境应重点考虑磁盘i/o、内存、cpu和网络。1. cpu:oltp场景多核心更重要,olap则更依赖主频和缓存;2. 内存:buffer pool越大越好,但需避免过度分配导致swap使用;3. 磁盘i/o:ssd是标配,nvme ssd和raid…

    2026年9月23日 用户投稿
    200
  • PHP自定义函数:创建与使用 prev_id() 函数的实践指南

    本文旨在指导读者如何定义和实现自定义PHP函数,以解决“Call to undefined function”错误。通过 prev_id() 函数的创建示例,详细阐述了函数的基本语法、参数传递、返回值以及在实际应用(如数据库查询)中的集成方法,并提供了关键注意事项,帮助开发者编写模块化、可维护的代码…

    2026年9月23日
    200
  • mysql数据库中触发器和存储过程如何协同

    触发器可调用存储过程实现复杂逻辑与数据一致性。例如,订单插入后通过触发器调用存储过程更新库存并记录日志;共用业务规则如积分调整封装在存储过程中,被多个触发器复用,提升可维护性;触发器还可调用存储过程插入异步任务到消息表,解耦耗时操作,由后台脚本处理通知或数据同步,保障主事务效率。 在MySQL数据库…

    2026年9月23日
    200
  • mysql索引怎么用 mysql创建索引提高查询性能方法

    mysql索引怎么用 mysql创建索引提高查询性能方法mysql索引怎么用 mysql创建索引提高查询性能方法mysql索引怎么用 mysql创建索引提高查询性能方法mysql索引怎么用 mysql创建索引提高查询性能方法

    索引是mysql中提高查询性能的关键工具,它类似于书籍目录,可快速定位数据。创建索引主要使用create index或alter table语句,例如:create index idx_email on users (email); 或 alter table users add index idx…

    2026年9月23日 用户投稿
    100
  • Windows系统安装MySQL的完整步骤是什么?

    Windows系统安装MySQL的完整步骤是什么?Windows系统安装MySQL的完整步骤是什么?Windows系统安装MySQL的完整步骤是什么?Windows系统安装MySQL的完整步骤是什么?

    安装#%#$#%@%@%$#%$#%#%#$%@_81c++3b080dad537de7e10e0987a4bf52e前需准备系统兼容性、硬件资源、前置运行时库、管理员权限及排查端口冲突。1. 系统兼容性:确保使用windows 10/11或对应server版本;2. 硬件资源:建议至少4gb内存;…

    2026年9月23日 用户投稿
    300
  • mysql怎么添加哈希索引 mysql创建哈希索引的使用场景

    mysql怎么添加哈希索引 mysql创建哈希索引的使用场景mysql怎么添加哈希索引 mysql创建哈希索引的使用场景mysql怎么添加哈希索引 mysql创建哈希索引的使用场景mysql怎么添加哈希索引 mysql创建哈希索引的使用场景

    mysql中可以显式添加哈希索引的场景仅限于memory存储引擎,1.创建memory表时通过using hash语法指定主键或辅助索引;2.对已有memory表使用alter table添加哈希索引。对于innodb等磁盘引擎,无法手动创建哈希索引,但其内部会自动管理自适应哈希索引(ahi)以优化…

    2026年9月23日 用户投稿
    200

发表回复

登录后才能评论
关注微信