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

相关推荐
heimeiyingwang2 小时前
如何用向量数据库构建企业级语义检索系统
数据库·mongodb·nosql·milvus
Web打印2 小时前
Phpask(php集成环境)之03安装mysql
数据库·mysql
p***19942 小时前
实操解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错的问题
数据库·postgresql
xj198603193 小时前
maven导入spring框架
数据库·spring·maven
ritxgt0063 小时前
MySQL出现Waiting for table metadata lock的原因以及解决方法(已亲测)
数据库·mysql
小跌—3 小时前
Redis的string数据类型
数据库·redis·缓存
清水白石0084 小时前
函数签名内省实战:打造通用参数验证装饰器的完整指南
java·linux·数据库
知识分享小能手4 小时前
SQL Server 2019入门学习教程,从入门到精通,SQL Server 2019 事务和锁 — 语法知识点及使用方法详解(13)
数据库·学习·sqlserver
之歆4 小时前
iSCSI + GFS2 + cLVM 共享存储完全指南
数据库