MYSQL查询时间范围内的数据
其中,table_name
是要查询的表名,date_column
是日期字段的列名。
一周
SELECT
*
FROM
table_name
WHERE
date_column BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 WEEK) AND CURDATE();
一个月
SELECT
*
FROM
table_name
WHERE
date_column BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 MONTH) AND CURDATE();
MySql查询某个时间段内的数据(前一周、前三个月、前一年等)
1、使用函数DATE_SUB
DATE_SUB函数在当前时间减去一定的时间
DATE_SUB(date,INTERVAL expr unit)
date:合法日期,可以是当前时间now()
expr:希望减去的时间,整数
unit:减去时间的单位,如day,week,month,year
实例:
u_user表
(1)、前一周的数据
当前时间:
sql:
select * from u_user where u_create_time > DATE_SUB(NOW(),INTERVAL 7 day);
结果:
另一种sql写法:
select * from u_user where u_create_time > DATE_SUB(NOW(),INTERVAL 1 WEEK);
(2)、前三个月的数据
sql:
select * from u_user where u_create_time > DATE_SUB(NOW(),INTERVAL 3 MONTH);
结果:
(3)、前一年的数据
sql:
select * from u_user where u_create_time > DATE_SUB(NOW(),INTERVAL 1 YEAR);
结果:
2、使用函数DATE_ADD
DATE_ADD函数在当前时间加上一定的时间
DATE_ADD(date,INTERVAL expr unitda
date:合法日期,可以是当前时间now(),也可以是表中的时间字段
expr:希望加上的时间,整数
unit:加上时间的单位,如day,week,month,year
实例:
(1)、前一周的数据
sql:
select * from u_user where DATE_ADD(u_create_time,INTERVAL 7 DAY) > NOW();
结果:
(2)、前三个月的数据
sql:
select * from u_user where DATE_ADD(u_create_time,INTERVAL 3 MONTH) > NOW();
结果:
(3)、前一年的数据
sql:
select * from u_user where DATE_ADD(u_create_time,INTERVAL 1 YEAR) > NOW();
结果:
到此这篇关于MYSQL查询时间范围内的数据的文章就介绍到这了,更多相关mysql查询时间范围内数据内容请搜索aitechtogether.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持aitechtogether.com!