MYSQL实现日期时间范围检索,日期时间查询,日期时间函数运算查询,查询一个时间段的数据,查询几年前或几年内的数据案例

  • Post author:
  • Post category:mysql


在mysql可以给日期时间进行格式化,也可以按照日期时间范围进行查询,今天我总结了比较常用的几个范围查询的案例,再此分享一下:


如下例子中我会使用yyyy-MM-dd的日期格式,其他格式只要保证过滤条件的时间格式和数据库中的格式一致即可



按照时间过滤查询:


这个例子是查询2023/4/18号之前的数据,其中比较运算符可以根据需求替换。

SELECT
	* 
FROM
	table_name 
WHERE
	time_field < '2023/4/18';


按照时间范围过滤查询:


这个例子是查询2023/4/18日至今的数据,CURDATE() 函数用于获取当前日期。

SELECT
	* 
FROM
	table_name 
WHERE
	time_field BETWEEN '2023/4/18' 
	AND CURDATE();


按照时间过滤查询(日期时间函数运算):


这个例子是查询一年前的数据;

DATE_SUB() 函数用于在当前日期的基础上减去一年,得到距离当前时间一年前的日期,最后通过 WHERE 子句过滤出满足条件的数据。

SELECT
	* 
FROM
	my_table 
WHERE
	my_time_field <= DATE_SUB( CURDATE(), INTERVAL 1 YEAR );


按照时间范围过滤查询(日期时间函数运算):


这个例子是查询当前日期到明年这个时间的数据;

DATE_ADD() 函数用于在当前日期的基础上加上一年,得到距离当前时间一年后的日期,最后通过 WHERE 子句过滤出满足条件的数据。

SELECT
	* 
FROM
	table_name 
WHERE
	time_field BETWEEN CURDATE() 
	AND DATE_ADD( CURDATE(), INTERVAL 1 YEAR );



版权声明:本文为TangBoBoa原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。