前言
有时候,我们需要根据不同的时间范围来查询数据。例如查询今天的,昨天的,本周的,上个月的等等。仅此记录一下。
sql语句
只写where条件,其中 operate_time 是数据库里和时间有关的一个字段,类型为datetime。主要使用的是SQL语句和时间有关函数,可以查看此链接学习: https://www.yiibai.com/sql/sql-date-functions.html 。
1、查询今天的数据
WHERE TO_DAYS(operate_time) = TO_DAYS(now())
2、查询昨天的数据
WHERE TO_DAYS(now()) - TO_DAYS(operate_time) = 1
3、查询本周的数据
WHERE YEARWEEK(operate_time) = YEARWEEK(NOW())
4、查询上周的数据
WHERE YEARWEEK(operate_time) = YEARWEEK(NOW()) -1
5、查询本月的数据
WHERE DATE_FORMAT(operate_time,'%Y-%m') = DATE_FORMAT(CURDATE(),'%Y-%m')
6、查询上个月的数据
WHERE DATE_FORMAT(operate_time,'%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH),'%Y-%m')
7、查询本季度的数据
WHERE QUARTER(operate_time) = QUARTER(NOW())
8、查询上季度的数据
WHERE QUARTER(operate_time) = QUARTER( DATE_SUB(NOE(), INTERVAL 1 QUARTER) )
9、查询今年的数据
WHERE YEAR(operate_time) = YEAR(NOW())
10、查询去年的数据
WHERE YEAR(operate_time) = YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR))
11、查询近30天的数据
WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= DATE(operate_time)
12、查询指定时间段的数据
WHERE operate_time BETWEEN '2017-1-1 00:00:00' AND '2018-1-1 00:00:00';
本文详细介绍如何使用SQL语句查询特定时间范围内的数据,包括今天、昨天、本周、本月等常见需求,通过具体示例展示了利用SQL内置函数进行精确时间筛选的方法。
查询的SQL语句&spm=1001.2101.3001.5002&articleId=98733678&d=1&t=3&u=a2b58e83987c42fa91a77df9df0e498d)
6万+

被折叠的 条评论
为什么被折叠?



