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

相关推荐
tjc19901005几秒前
golang如何使用t.Cleanup清理测试_golang t.Cleanup测试清理使用策略
jvm·数据库·python
SeSs IZED3 分钟前
Redis开启远程连接
数据库·redis·缓存
214396512 分钟前
如何提升SQL数据更新的安全性_使用行级锁与悲观锁机制
jvm·数据库·python
uElY ITER20 分钟前
VS与SQL Sever(C语言操作数据库)
c语言·数据库·sql
SHoM SSER31 分钟前
SQL之CASE WHEN用法详解
数据库·python·sql
Caspian Wren38 分钟前
通过Logstash将MySQL数据同步到ES
数据库·mysql·elasticsearch·logstash
2401_8359568140 分钟前
Golang怎么做代码热更新_Golang热更新教程【精通】
jvm·数据库·python
justjinji43 分钟前
如何解决Oracle JDBC驱动版本的兼容性问题_ojdbc8.jar与JDK版本的对应关系
jvm·数据库·python
cyber_两只龙宝1 小时前
【Oracle】Oracle之SQL的聚合函数和分组
linux·运维·数据库·sql·云原生·oracle
2301_777599371 小时前
CSS中如何让浮动元素撑开父容器_深度解析清除浮动
jvm·数据库·python