MySQL中常用的日期相关函数有哪些

54次阅读
没有评论

共计 2894 个字符,预计需要花费 8 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍了 MySQL 中常用的日期相关函数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

目录

第一部分:时间差函数 timestampdiff、datediff、timediff

一、时间差函数:timestampdiff

二、时间差函数:datediff

三、时间差函数:timediff

四、其他日期函数

其他日期函数

第二部分 日期、时间戳、字符串互相转换

其他

第一部分:时间差函数 timestampdiff、datediff、timediff

一、时间差函数:timestampdiff

语法:timestampdiff(interval, datetime1,datetime2)
结果:返回(时间 2 - 时间 1)的时间差,结果单位由 interval 参数给出。

interval
frac_second 毫秒(低版本不支持,用 second,再除于 1000)
second 秒
minute 分钟
hour 小时
day 天
week 周
month 月
quarter 季度
year 年

注意:MySQL 5.6 之后才支持毫秒的记录和计算,如果是之前的版本,最好是在数据库除 datetime 类型之外的字段,再建立用于存储毫秒的 int 字段,然后自己进行转换计算。# 所有格式

SELECT TIMESTAMPDIFF(FRAC_SECOND, 2012-10-01 , 2013-01-13  #  暂不支持 SELECT TIMESTAMPDIFF(SECOND, 2012-10-01 , 2013-01-13  # 8985600SELECT TIMESTAMPDIFF(MINUTE, 2012-10-01 , 2013-01-13  # 149760SELECT TIMESTAMPDIFF(HOUR, 2012-10-01 , 2013-01-13  # 2496SELECT TIMESTAMPDIFF(DAY, 2012-10-01 , 2013-01-13  # 104SELECT TIMESTAMPDIFF(WEEK, 2012-10-01 , 2013-01-13  # 14SELECT TIMESTAMPDIFF(MONTH, 2012-10-01 , 2013-01-13  # 3SELECT TIMESTAMPDIFF(QUARTER, 2012-10-01 , 2013-01-13  # 1SELECT TIMESTAMPDIFF(YEAR, 2012-10-01 , 2013-01-13  # 0

二、时间差函数:datediff

语法:SELECT DATEDIFF(日期 1, 日期 2)
结果:日期 1 – 日期 2 的天数的差

SLECT DATEDIFF(2013-01-13 , 2012-10-01  # 104

三、时间差函数:timediff

语法:timediff(time1,time2)
结果:返回 time1-time2 的差值

SELECT TIMEDIFF(2018-05-21 14:51:43 , 2018-05-19 12:54:43 #49:57:00

注意:该方法两个参数必须为日期格式

四、其他日期函数

now() 函数返回的是当前时间的年月日时分秒

curdate() 函数返回的是年月日信息

curtime() 函数返回的是当前时间的时分秒信息

对一个包含年月日时分秒日期格式化成年月日日期,可以使用 DATE(time) 函数

其他日期函数

SELECT NOW(); # 2018-05-21 14:41:00SELECT CURDATE(); # 2018-05-21SELECT CURTIME(); # 14:41:38SELECT DATE(NOW()); # 2018-05-21SELECT SYSDATE(); # 2018-05-21 14:47:11SELECT CURRENT_TIME(); # 14:51:30SELECT CURRENT_TIMESTAMP; # 2018-05-21 14:51:37SELECT CURRENT_TIMESTAMP(); # 2018-05-21 14:51:43

注意:now() 与 sysdate() 类似,只不过 now() 在执行开始时就获取,而 sysdate() 可以在函数执行时动态获取。

第二部分 日期、时间戳、字符串互相转换

# 时间日期转字符串   相当与 Oracle 中的 to_char 函数 select date_format(now(),  %Y-%m-%d  #结果:2017-02-27#时间转时间戳 select unix_timestamp(now()); #结果:1488160428# 字符串转时间 select str_to_date(2017-02-27 ,  %Y-%m-%d %H  # 结果:2017-02-27 00:00:00select str_to_date( 2017-10-16 15:30:28 , %Y-%m-%d %H:%i:%s  #结果  2017-10-16 15:30:28#注意   年是大写‘Y’,小时也必须是大写‘H’ ( 如果其他为大写,则得到结果为 null)# 字符串转时间戳 select unix_timestamp(2017-02-27  #结果:1488124800#时间戳转时间 select from_unixtime(1488160428); #结果:2017-02-27 09:53:48# 时间戳转字符串 select from_unixtime(1488160428, %Y-%m-%d %T  # 结果:2017-02-27 09:53:48
 SELECT DATE_FORMAT(CURDATE(), %Y-%m-%d %H:%i:%s  --  获取当天零点 select curdate(); -- 获取当前日期 select last_day(curdate()); -- 获取当月最后一天。select DATE_ADD(curdate(),interval -day(curdate())+1 day); -- 获取本月第一天 select date_add(curdate()-day(curdate())+1,interval 1 month); --  获取下个月的第一天 select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual; -- 获取当前月的天数 

其他

SELECT DAY(2021-2-17) --  当前月的第几天 (17)SELECT MONTH(2021-2-17) --  当前为几月 (2)

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“MySQL 中常用的日期相关函数有哪些”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计2894字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)