MySQL日期时间函数汇总、时间格式转换方法

MySQL日期时间函数汇总、时间格式转换方法

  • 时间函数
  • 日期时间格式转换
    • date_format函数
    • EXTRACT()
    • DATE_ADD()
    • DATE_SUB()
    • DATEDIFF函数

时间函数

函数 描述
NOW() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 返回日期或日期/时间表达式的日期部分
HOUR() 获取日期中的小时
YEAR() 获取日期中的年
MONTH() 获取日期中的月
DAY() 获取日期中的日
MINUTE() 获取日期中的分
SECOND() 获取日期中的秒
EXTRACT() 用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等
DATE_FORMAT() 用于以不同的格式显示日期/时间数据,常见参数:见图
DATEDIFF() 返回两个日期之间的天数

日期时间格式转换

date_format函数

同一个日期时间会有多种不同的表示方式,有的时候需要在不同格式之间相互转换。在Sql中我们用的是date_format()函数,date_format函数格式如下:

date_format(datetime,format)

datetime表示要被转换的具体的日期时间,format表示要转换成的格式,可选的格式如下:

MySQL日期时间函数汇总、时间格式转换方法_第1张图片

示例如下:

select date_format("2022-12-25 22:47:37","%Y-%m-%d")

输出结果为:2022-12-25

select date_format("2022-12-25 22:47:37","%Y-%b")

输出结果为:2022-Dec

select date_format("2022-12-25 22:47:37","%Y-%m-%W")

输出结果为:2022-12-Sunday

select date_format("2022-12-25 22:47:37","%j")

输出结果为:359

select date_format("2022-12-25 22:47:37","%H:%i:%S")

输出结果为:22:47:37

select date_format("2022-12-25 22:47:37","%Y-%m-%d %H:%i:%S")

输出结果为:2022-12-25 22:47:37

select date_format("2022-12-25 22:47:37","%T")

输出结果为:22:47:37

EXTRACT()

EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟。
语法:EXTRACT(unit FROM date)
date 参数是合法的日期表达式。

select extract(year from "2022-12-25 22:47:37") as Year,
extract(month from "2022-12-25 22:47:37") as Month,
extract(day from "2022-12-25 22:47:37") as Day,
extract(hour from "2022-12-25 22:47:37") as Hour,
extract(minute from "2022-12-25 22:47:37") as Minute,
extract(second from "2022-12-25 22:47:37") as Second;

结果:
在这里插入图片描述

DATE_ADD()

DATE_ADD() 函数向日期添加指定的时间间隔。
语法:DATE_ADD(date,INTERVAL expr type)

select date_add("2022-12-25 22:47:37",interval 3 day) as three_days_later;

输出结果为:
在这里插入图片描述

DATE_SUB()

DATE_SUB() 函数从日期减去指定的时间间隔。
语法:DATE_SUB(date,INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。

select date_sub("2022-12-25 22:47:37",interval 7 day) as last_week;

输出结果为:
在这里插入图片描述

DATEDIFF函数

DATEDIFF函数用于返回两个日期的天数
语法:DATEDIFF(date1,date2)
date1 和 date2 参数是合法的日期或日期/时间表达式。
只有值的日期部分参与计算。

select datediff("2023-04-06","2020-04-06") as Differdate

输出结果为:1095

select datediff("2020-04-06","2023-04-06")

输出结果为:-1095

select datediff("2023-04-06","2023-04-05")

输出结果为:1

select datediff("2023-04-06","2023-04-06 14:00:00")

输出结果为:0

select datediff("2023-04-06 20:00:00","2023-04-06 14:00:00")

输出结果为:0

select datediff("2023-04-06 20:00:00","2023-04-05 14:00:00")

输出结果为:1

❤️希望对您有帮助,您的支持是我创作最大的动力!

你可能感兴趣的:(SQL,mysql,数据库)