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 列的年份。日期和时间函数在处理数据时非常有用,特别是当你需要对日期和时间进行操作或计算时。

相关推荐
phltxy7 分钟前
Redis Set:原理、命令与实战场景详解
数据库·redis·缓存
他是龙5517 分钟前
SQLi-Labs 通关笔记(Less-38 ~ Less-53):堆叠注入与 ORDER BY 注入
数据库·笔记·less
今天也是元气满满的一天呢9 分钟前
20260512-SQL学习大览
数据库·sql·学习
北秋,14 分钟前
Web Security Academy 第二关:SQL 注入登录绕过
数据库·sql
思麟呀14 分钟前
MySQL基础CRUD语句
数据库·mysql
funnycoffee12316 分钟前
cisco Firepower 4110 9300 FXOS set chassis hostname
java·服务器·数据库
0xDevNull17 分钟前
MySQL中的锁详解
mysql
六月雨滴19 分钟前
Oracle 数据库诊断文件与故障排查
数据库
草莓熊Lotso23 分钟前
【Linux网络】从 0 到 1 实现高性能 UDP 聊天室:深入拆解 Linux 网络编程与线程池架构
linux·运维·服务器·网络·数据库·c++·udp
咖啡里的茶i23 分钟前
实验一 数据库定义
数据库·oracle