Mysql常用时间函数的用法和应用
/* ---1)整型时间戳转换为date的格式(yyyymmdd, yyyy年mm月dd)--*/
SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' ); -- 20090806 SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' ); -- 2009年08月06
/* ---2)将datetime转换为时间戳--*/
SELECT UNIX_TIMESTAMP(); SELECT UNIX_TIMESTAMP('2019-07-04 12:23:00');
输出格式如:1562214180
/* ---3)获取当前时间(yyyy-mm-dd hh:mm:ss)的方法--*/
SELECT NOW(); SELECT LOCALTIME(); SELECT LOCALTIME; SELECT SYSDATE();
输出格式如:2019-07-04 22:15:49
/* ---4)获取当前日期(date)--*/
SELECT CURDATE(); SELECT CURRENT_DATE(); SELECT CURRENT_DATE;
输出格式如:2019-07-04
/* ---5)获取当前时间(time)--*/
SELECT CURTIME(); SELECT CURRENT_TIME(); SELECT CURRENT_TIME;
输出格式如:22:13:56
/* ---6)获取当前日期前一天--*/
SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY);
输出格式如:2019-07-03
/* -- 7)应用:获取24小时内,7天内,30天内的数据量---*/
-- 24小时内 SELECT COUNT(1) FROM table1 a WHERE TO_DAYS(`时间字段`) = TO_DAYS(NOW()); -- 7天内 SELECT COUNT(1) FROM table1 a WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= DATE(`时间字段`); -- 30天内 SELECT COUNT(1) FROM table1 a WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= DATE(`时间字段`);
/* ---8)获取当前时间的前5分钟--*/
-- 前5分钟 SELECT DATE_ADD(NOW(), INTERVAL -5 MINUTE); -- 后5分钟 SELECT DATE_ADD(NOW(), INTERVAL 5 MINUTE);
/* ---9)应用:查询当前时间前五分钟内的数据或后5分钟内的数据--*/
select * from table1 where ((`时间字段` BETWEEN DATE_ADD(NOW(), INTERVAL -5 MINUTE) AND NOW()) OR (`时间字段` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 5 MINUTE)));
/* ---10)查询指定时间段的记录 BETWEEN AND--*/
1 SELECT * FROM table1 WHERE 时间字段 BETWEEN '2010-7-12 11:18:54' AND '2010-7-12 11:22:20' ;
作者:simplesally
出处:https://www.cnblogs.com/simple1025/
说明:本文版权归作者和博客园共有,欢迎转载和提出建议,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。