MySQL的日期时间函数

MySQL数据库的日期时间类型的字段做条件时,有时需要获取日期时间类型的字段部分的值,这时候就需要使用到日期时间函数,常用的日期时间函数有year(date),month(date),date(expr),hour(time),minute(time)和second(time)等函数。

一 YEAR函数

YEAR(date):获取日期中的年份
===> select YEAR('2023-12-06 17:21:15')
<=== 2023
YEARWEEK(date):获取日期属于哪一年中的第几周,外国人是按周日为一周的第一天,2024年1月7日是2024年的第一周的第一天


===> select YEARWEEK('2024-01-06 17:21:15')
<=== 202353
2024年1月6日属于2023年的第53周
===> select YEARWEEK('2024-01-07 17:21:15')
<=== 202401
2024年1月7日属于2024年的第1周

YEARWEEK(date, mode):获取日期属于哪一年中的第几周,参数mode指定周几为一周的第一天,mode可取值范围是(1-7);
===> select YEARWEEK('2024-01-01 17:21:15', 1)
<=== 202401
指定周一为一周的第一天,2024年1月1日属于2024年的第1周
WEEKOFYEAR(date):获取日期属于一年中的第几周,记一年第一个周一的日期为第一周的开始;

===> select WEEKOFYEAR('2023-01-01 17:21:15')
<=== 52
===> select WEEKOFYEAR('2023-01-02 17:21:15')
<=== 1
2023年1月2日是2023年一个周一的日期

DAYOFYEAR(date):获取当前日期是一年中的第几天;

===> select DAYOFYEAR('2024-01-01 17:21:15')
<=== 1
2024年1月1日是2024年的第一天
===> select DAYOFYEAR('2024-05-15 17:21:15')
<=== 136
2024年5月15日是2024年的第136天

二 MONTH函数

MONTH(date):获取当前月份
===> select MONTH('2022-12-07 12:10:11')
<=== 12
MONTHNAME(date):获取当前月份的名字
===> select MONTHNAME('2022-12-07 12:10:11')
<=== December
DAYOFMONTH(date):获取日期是月份的第几天
===> select DAYOFMONTH('2022-12-07 12:10:11')
<=== 7

三 DATE函数

DATE(expr):获取当前日期
===> select date('2022-12-07 12:10:11')
<=== 2022-12-07
DATEDIFF(expr1, expr2):第一个参数减去第二个参数,忽略时分秒,只计算两者相差的天数
===> select DATEDIFF('2022-12-07 12:10:11','2022-12-05 11:13:11')
<=== 2
DATE_ADD(date, INTERVAL expr unit):日期date加上时间单元间隔
unit的可选值:YEAR年份、MONTH月份、DAY日份、HOUR小时、MINUTE分钟和SECOND秒
===> select DATE_ADD('2023-12-06 17:21:15', INTERVAL 2 SECOND)
<=== 2023-12-06 17:21:17
DATE_SUB(date, INTERVAL expr unit):日期date减去时间单元间隔
===> select DATE_SUB('2023-12-06 17:21:15', INTERVAL 2 SECOND)
<=== 2023-12-06 17:21:13
DATE_FORMAT(date,format):按照指定格式输出日期时间, 指定格式可选值
    %Y 年份(2023)
    %y 年份(23)
    %m 月份(01-12)
    %c 月份(1-12)
    %d 日份(01-31)
    %e 日份(1-31)
    %H 小时(00-23)
    %h 小时(01-12)
    %i 分钟(00-59)
    %S 秒(00-59)
    %s 秒(00-59)
    %p AM或PM
===> select DATE_FORMAT('2023-12-06 17:21:15', '%s')
<=== 15

四 HOUR函数

HOUR(time):获取当前日期时间的第几小时
===> select HOUR('2022-12-07 12:10:11')
<=== 12

五 MINUTE函数

MINUTE(time):获取当前日期时间所在小时的第几分钟
===> select MINUTE('2022-12-07 12:10:11')
<=== 10

六 SECOND函数

SECOND(time):获取当前日期时间所在小时所在分钟的第几秒
===> select SECOND('2022-12-07 12:10:11')
<=== 11
MICROSECOND(expr):获取当前日期时间所在小时所在分钟所在秒的第几毫秒
===> select MICROSECOND('2022-12-07 12:10:11.102409')
<=== 102409

  • 18
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值