mysql之日期时间函数

以下是 MySQL 中一些常用的日期和时间函数,包括它们的用法、参数类型和期望的结果。

NOW()

返回当前日期和时间。

  • 参数:无

  • 结果类型:DATETIME

示例:

复制代码
SELECT NOW(); 
-- 结果: '2023-04-01 12:45:31' (取决于查询时的实际日期和时间)
CURDATE()

返回当前日期。

  • 参数:无

  • 结果类型:DATE

示例:

复制代码
SELECT CURDATE(); 
-- 结果: '2023-04-01' (取决于查询时的实际日期)
CURTIME()

返回当前时间。

  • 参数:无

  • 结果类型:TIME

示例:

复制代码
SELECT CURTIME(); 
-- 结果: '12:45:31' (取决于查询时的实际时间)
DATE_ADD(date, INTERVAL expr type)

在日期 date 上加上一个时间间隔 expr

  • 参数:date 是一个日期或日期时间表达式;expr 是你希望添加的时间间隔数值;type 是间隔的类型(比如,DAY, MONTH, YEAR, HOUR, 等)。

  • 结果类型:与 date 参数类型相同

示例:

复制代码
SELECT DATE_ADD('2023-04-01', INTERVAL 1 DAY); 
-- 结结果: '2023-04-02'
DATE_SUB(date, INTERVAL expr type)

从日期 date 中减去一个时间间隔 expr

  • 参数:与 DATE_ADD 相同。

  • 结果类型:与 date 参数类型相同

示例:

复制代码
SELECT DATE_SUB('2023-04-01', INTERVAL 1 MONTH); 
-- 结果: '2023-03-01'
DATEDIFF(expr1, expr2)

返回两个日期之间的天数差。

  • 参数:expr1expr2 都是日期表达式。

  • 结果类型:INT

示例:

复制代码
SELECT DATEDIFF('2023-04-01', '2023-01-01'); -- 结果: 90
YEAR(date)

从日期 date 中提取年份。

  • 参数:date 是日期或日期时间表达式。

  • 结果类型:INT

示例:

复制代码
SELECT YEAR('2023-04-01'); -- 结果: 2023
MONTH(date)

从日期 date 中提取月份。

  • 参数:与 YEAR 相同。

  • 结果类型:INT

示例:

复制代码
SELECT MONTH('2023-04-01'); -- 结果: 4
DAY(date)

从日期 date 中提取天。

  • 参数:与 YEAR 相同。

  • 结果类型:INT

示例:

复制代码
SELECT DAY('2023-04-01'); -- 结果: 1
HOUR(time)

从时间 time 中提取小时部分。

  • 参数:time 是时间或日期时间表达式。

  • 结果类型:INT

示例:

复制代码
SELECT HOUR('12:45:31'); -- 结果: 12
MINUTE(time)

从时间 time 中提取分钟部分。

  • 参数:与 HOUR 相同。

  • 结果类型:INT

示例:

复制代码
SELECT MINUTE('12:45:31'); -- 结果: 45
SECOND(time)

从时间 time 中提取秒部分。

  • 参数:与 HOUR 相同。

  • 结果类型:INT

示例:

复制代码
SELECT SECOND('12:45:31'); -- 结果: 31

请注意,以上结果取决于实际查询执行的时间和日期。在实际的数据库操作中,通常会使用列名作为参数,而不是直接使用硬编码的日期或时间值。例如:

复制代码
SELECT YEAR(birthdate) FROM employees;

这将返回 employees 表中每位员工的 birthdate 列的年份。日期和时间函数在处理数据时非常有用,特别是当你需要对日期和时间进行操作或计算时。

相关推荐
Nturmoils5 小时前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波9 小时前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6001 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
GreatSQL1 天前
gt-checksum v4.0.0 新功能解读系列文章(4):SSL 加密连接——数据校验传输安全再升级
mysql
倔强的石头_1 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_4 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横4 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
沉默王二4 天前
面试官:RAG 不用向量数据库,用 MySQL 硬扛?我:100 万向量不是很轻松?
mysql·面试·ai编程
冬奇Lab5 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm