赞
踩
在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 );
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。