MYSQL时间相关函数总结(⼀)时间差函数timestampdiff、datediff、t。。。
⼀、时间差函数:timestampdiff
语法:timestampdiff(interval, datetime1,datetime2)
结果:返回(时间2-时间1)的时间差,结果单位由interval参数给出。
interval参数意义
frac_second毫秒(低版本不⽀持,⽤second,再除于1000)
second秒
minute分钟
hour⼩时
diff函数day天
week⽉
quarter季度
year年
ps:注意:MySQL 5.6之后才⽀持毫秒的记录和计算,如果是之前的版本,最好是在数据库除datetime类型之外的字段,再建⽴⽤于存储毫秒的int字段,然后⾃⼰进⾏转换计算。
所有格式样例:
SELECT TIMESTAMPDIFF(FRAC_SECOND,'2012-10-01','2013-01-13'); # 暂不⽀持
SELECT TIMESTAMPDIFF(SECOND,'2012-10-01','2013-01-13'); # 8985600
SELECT TIMESTAMPDIFF(MINUTE,'2012-10-01','2013-01-13'); # 149760
SELECT TIMESTAMPDIFF(HOUR,'2012-10-01','2013-01-13'); # 2496
SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13'); # 104
SELECT TIMESTAMPDIFF(WEEK,'2012-10-01','2013-01-13'); # 14
SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13'); # 3
SELECT TIMESTAMPDIFF(QUARTER,'2012-10-01','2013-01-13'); # 1
SELECT TIMESTAMPDIFF(YEAR,'2012-10-01','2013-01-13'); # 0
⼆、时间差函数:datediff
语法:传⼊两个⽇期参数,⽐较DAY天数,第⼀个参数减去第⼆个参数的天数值。
SELECT 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:00
SELECT CURDATE(); # 2018-05-21
SELECT CURTIME(); # 14:41:38
SELECT DATE(NOW()); # 2018-05-21
SELECT SYSDATE(); # 2018-05-21 14:47:11
SELECT CURRENT_TIME(); # 14:51:30
SELECT CURRENT_TIMESTAMP; # 2018-05-21 14:51:37
SELECT CURRENT_TIMESTAMP(); # 2018-05-21 14:51:43
注意:now()与sysdate()类似,只不过now()在执⾏开始时就获取,⽽sysdate()可以在函数执⾏时动态获取。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论