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

MySQL日期时间函数

函数分类

函数名

功能描述

语法示例

获取当前日期和时间

NOW()

返回包含年、月、日、时、分、秒的完整时间戳,格式为 YYYY-MM-DD HH:MM:SS

SELECT NOW();

CURDATE() / CURRENT_DATE()

获取当前日期,格式为 YYYY-MM-DD

SELECT CURDATE(); 或 SELECT CURRENT_DATE();

CURTIME() / CURRENT_TIME()

返回当前时间,格式为 HH:MM:SS

SELECT CURTIME(); 或 SELECT CURRENT_TIME();

SYSDATE()

返回函数执行时的时间

SELECT SYSDATE() AS current_execution_time;

日期和时间的提取

YEAR(date)

从日期或日期时间表达式中提取年份

SELECT YEAR('2024-10-01');

MONTH(date)

提取月份

SELECT MONTH('2024-10-01');

DAY(date)

提取日

SELECT DAY('2024-10-01');

HOUR(time)

从时间或日期时间表达式中提取小时

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

MINUTE(time)

提取分钟

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

SECOND(time)

提取秒

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

DAYOFWEEK(date)

返回一个数字,1 代表星期日,2 代表星期一,以此类推

SELECT DAYOFWEEK('2024-10-01');

DAYNAME(date)

返回日期对应的星期几的名称

SELECT DAYNAME('2024-10-01');

MONTHNAME(date)

返回日期对应的月份名称

SELECT MONTHNAME('2024-10-01');

DAYOFMONTH(date)

返回日期是该月的第几天,范围是 1 到 31

SELECT DAYOFMONTH('2024-10-01');

DAYOFYEAR(date)

返回日期是该年的第几天,范围是 1 到 366(闰年)

SELECT DAYOFYEAR('2024-10-01');

日期和时间的计算

ADDDATE() / DATE_ADD()

在一个日期上加上指定的时间间隔

SELECT ADDDATE(CURDATE(), INTERVAL 10 DAY); 或 SELECT DATE_ADD(CURDATE(), INTERVAL 10 DAY);

SUBDATE() / DATE_SUB()

在一个日期上减去指定的时间间隔

SELECT SUBDATE(CURDATE(), INTERVAL 3 MONTH); 或 SELECT DATE_SUB(CURDATE(), INTERVAL 3 MONTH);

DATEDIFF()

计算两个日期之间的差值,返回天数

SELECT DATEDIFF(order_completion_date, order_creation_date) AS days_to_complete FROM orders;

TIMEDIFF()

计算两个时间之间的差值,返回格式为 HH:MM:SS 的时间差

SELECT TIMEDIFF(time1, time2);

日期和时间的格式化与解析

DATE_FORMAT()

将日期或日期时间按照指定格式进行格式化输出

SELECT DATE_FORMAT('2024-10-01', '%Y年%m月%d日');

STR_TO_DATE()

将字符串按照指定格式解析为日期

SELECT STR_TO_DATE('20241001', '%Y%m%d');

其他日期时间函数

LAST_DAY(date)

返回给定日期所在月份的最后一天

SELECT LAST_DAY('2024-02-01');

EXTRACT(unit FROM date)

从日期或日期时间表达式中提取特定的时间单位

SELECT EXTRACT(HOUR FROM '2024-10-01 14:30:00');

格式符

描述

示例

%Y

四位数的年份

2024

%y

两位数的年份

24

%m

两位数的月份(01 - 12)

05

%c

一位数或两位数的月份(1 - 12)

5

%d

两位数的日(01 - 31)

15

%e

一位数或两位数的日(1 - 31)

15

%H

24 小时制的小时(00 - 23)

14

%h

12 小时制的小时(01 - 12)

02

%i

分钟(00 - 59)

30

%s

秒(00 - 59)

25

%p

AM 或 PM

PM

%W

星期几的完整名称

Monday

%a

星期几的缩写

Mon

%M

月份的完整名称

May

%b

月份的缩写

May

%j

一年中的第几天(001 - 366)

135

%U

一年中的第几周(00 - 53),周日为一周的第一天

20

%u

一年中的第几周(00 - 53),周一为一周的第一天

20

相关文章:

  • Redis 源码硬核解析系列专题 - 第五篇:事件驱动模型与网络层
  • AutoCAD Map 3D:CAD与GIS集成工具
  • Lesson 7 Too late
  • ISIS-4 LSP计算
  • 1.3 斐波那契数列模型:LeetCode 746. 使用最小花费爬楼梯
  • LangChian除了load_qa_chain还有什么chain
  • HTTP和HTTPS区别
  • RK3588使用笔记:设置程序/服务开机自启
  • [Linux]基础IO
  • C语言pthread库的线程休眠和唤醒的案例
  • 代码随想录动态规划06
  • 【HTML 基础教程】HTML 表格
  • P1091 [NOIP 2004 提高组] 合唱队形
  • 码上爬-第78题
  • 音视频(一)ZLMediaKit搭建部署
  • 如何屏蔽mac电脑更新提醒,禁止系统更新
  • Gossip协议:分布式系统中的“八卦”传播艺术
  • 【大模型】SpringBoot整合LangChain4j实现RAG检索实战详解
  • 超导量子计算机编程实战:IBM Qiskit 2025新API详解
  • 每日算法-250330