MySQL之时间处理函数

前言

这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题

于是乎,我自己开发了一款面试宝典,希望能帮到大家,也希望有更多的Python新人真正加入从事到这个行业里,让python火不只是停留在广告上。

微信小程序搜索:Python面试宝典

或可关注原创个人博客:https://lienze.tech

也可关注微信公众号,不定时发送各类有趣猎奇的技术文章:Python编程学习

时间函数

参考:https://www.runoob.com/mysql/mysql-functions.html

ADDDATE

为某个起始时间加上指定天数

SELECT ADDDATE('2022-2-2', INTERVAL 50 DAY)

ADDTIME

为某个起始时间,含有时分秒,加上一个时间

SELECT ADDTIME('2022-2-2 11:11:11', 5) # 加5秒
SELECT ADDTIME('2022-2-2 11:11:11', '1:1:1') # 加1时1分1秒

CURDATE

返回当前时间,年月日

SELECT CURDATE();
2022-02-07

CURRENT_DATE

返回当前日期,年月日

SELECT CURRENT_DATE();
2022-02-07

CURRENT_TIME

返回当前时间,时分秒

SELECT CURRENT_TIME();
11:52:48

CURRENT_TIMESTAMP

返回当前时间,年-月-日 时:分:秒

SELECT CURRENT_TIMESTAMP();
2022-02-07 11:54:17

DATE

从给定时间字符串中,尝试获取日期

SELECT DATE('20170615'); # 2017-06-15
SELECT DATE('170615');   # 2017-06-15

DATEDIFF

计算两个时间间隔的天数

SELECT DATEDIFF('2022-2-2', '2022-3-24');
-50

DATE_ADD

计算起始日期加上一个时间段后的日期

SELECT DATE_ADD('2022-2-2', INTERVAL 10 DAY);

DATE_FORMAT

根据表达式进行日期格式化

SELECT DATE_FORMAT('22-2-2 11:11:11','%m-%d-%Y');
02-02-2022

DATE_SUB

计算起始日期减去一个时间段后的日期

SELECT DATE_SUB('2022-2-2',INTERVAL 2 DAY);
2022-01-31

DAYOFMONTH

计算日是本月第几天

SELECT DAYOFMONTH('2022-2-17');
17

DAYOFWEEK

计算当前日是星期几,1为星期日,2为星期一

SELECT DAYOFWEEK('2022-2-17');
5

DAYOFYEAR

计算当前日是本年的第几天

SELECT DAYOFYEAR('2022-2-17');
48

DAY

获取日期中的天数属性

SELECT DAY('2022-2-2');
2

EXTRACT

从日期中获取某个指定的属性

SELECT EXTRACT(MONTH from '2022-3-2')
3

HOUR

获取日期中的小时属性

SELECT HOUR('12:06:03')
12

LAST_DAY

获取给定日期的最后一天

SELECT LAST_DAY('2022-3-6')
2022-03-31

LOCALTIME

获取本地时间

SELECT LOCALTIME();
2022-02-07 13:50:21

MAKEDATE

计算给定年份及天数的对应时间,如2022年的第100天

SELECT MAKEDATE('2022', 100);
2022-04-10

MAKETIME

给定时分秒组合时间

SELECT MAKETIME(12,30,30)
12:30:30

MICROSECOND

返回对应时间的微秒属性

SELECT MICROSECOND('2022-2-2 12:12:12.123456');
123456

MINUTE

返回对应时间的分钟属性

SELECT MINUTE(CURRENT_TIME());

MONTH

获取时间中的月份属性

SELECT MONTH('2022-10-2');
10

NOW

返回当前的时间,年月日,时分秒

SELECT NOW();
2022-02-07 15:15:49

SECOND

获取时间中的秒数属性

SELECT SECOND('12:30:30')
30

SEC_TO_TIME

总秒数变为时分秒可读性更强的时间

SELECT SEC_TO_TIME(2022)
00:33:42

TIME_TO_SEC

时分秒转为总秒数

SELECT TIME_TO_SEC('00:33:42')
2022

TIME

类似DATE,从给定时间字符串中,尝试获取时分秒

SELECT TIME(2022)
00:20:22

TIMEDIFF

计算两个日期的时分秒差值

注意:时间差值不能过大,TIMEDIFF具有限制838:59:59

SELECT TIMEDIFF('2022-1-1 12:30:33', '2023-5-6 1:5:6')
-838:59:59

TIMESTAMPDIFF

根据给定的INTERVAL单位计算差值

SELECT TIMESTAMPDIFF(SECOND, '2022-1-1 12:30:33', '2023-5-6 1:5:6')
42294873

YEAR

返回时间的年份属性

SELECT YEAR('2022-1-1')
2022
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李恩泽的技术博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值