200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 聊聊MySQL 中常用的日期相关函数

聊聊MySQL 中常用的日期相关函数

时间:2021-09-16 03:50:01

相关推荐

聊聊MySQL 中常用的日期相关函数

数据库|mysql教程

MySQL,日期函数

数据库-mysql教程

php微砍价源码,vscode按f5没反应,ubuntu切换su,tomcat里xml文件里,ip限制爬虫,如何提高php水平,新民seo关键词霸屏引流lzw

目录

手机 视频 上传 源码,vscode关联Linux,ubuntu ova,tomcat运行加速,sqlite设为中文版,dede 商城插件,支持IE9的前端框架,爬虫在什么软件上买药,php判断用户名,黑帽seo文章,帝国cms网站地图生成器,网页 flv 播放器,discuz 图片模板下载器lzw

第一部分:时间差函数 timestampdiff、datediff、timediffA、时间差函数:timestampdiffB、时间差函数:datediffC、时间差函数:timediffD、其他日期函数其他日期函数第二部分 日期、时间戳、字符串互相转换其他

塔防手游源码,获取ubuntu版本,tomcat运行的文件在哪,亚马逊卖家爬虫,php配置文件设置时区,单页面应用seo搜索引擎lzw

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

A、时间差函数:timestampdiff

语法:timestampdiff(interval, datetime1,datetime2)

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

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

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

B、时间差函数:datediff

语法:SELECT DATEDIFF(日期1, 日期2)

结果:日期1 – 日期2 的天数的差

SLECT DATEDIFF(-01-13,-10-01); # 104

C、时间差函数:timediff

语法:timediff(time1,time2)

结果:返回 time1-time2 的差值

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

D、其他日期函数

now()函数返回的是当前时间的年月日时分秒curdate()函数返回的是年月日信息curtime()函数返回的是当前时间的时分秒信息对一个包含年月日时分秒日期格式化成年月日日期,可以使用DATE(time)函数

其他日期函数

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

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

#时间日期转字符串 相当与Oracle中的to_char函数select date_format(now(), \%Y-%m-%d); #结果:-02-27#时间转时间戳select unix_timestamp(now()); #结果:1488160428#字符串转时间select str_to_date(-02-27, \%Y-%m-%d %H); #结果:-02-27 00:00:00select str_to_date(-10-16 15:30:28,\%Y-%m-%d %H:%i:%s); #结果 -10-16 15:30:28#注意 年是大写‘Y’,小时也必须是大写‘H’ (如果其他为大写,则得到结果为null)#字符串转时间戳select unix_timestamp(-02-27); #结果:1488124800#时间戳转时间select from_unixtime(1488160428); #结果:-02-27 09:53:48#时间戳转字符串select from_unixtime(1488160428,\%Y-%m-%d %T); #结果:-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(-2-17) -- 当前月的第几天(17)SELECT MONTH(-2-17) -- 当前为几月(2)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。