MySQL根据时间快速查询

连线北海
连线北海
连线北海
201
文章
6
评论
2019年10月26日17:06:51 评论 95 1500字阅读5分0秒

今天
SELECT * FROM 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(now());

昨天
SELECT * FROM 表名 WHERE TO_DAYS(now()) - TO_DAYS(时间字段名) <= 1;

近7天
SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名);

近30天
SELECT * FROM 表名 WHERE DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名);

本月
SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m');

上一月
SELECT * FROM 表名 WHERE PERIOD_DIFF(DATE_FORMAT(now(), '%Y%m'), DATE_FORMAT(时间字段名, '%Y%m')) = 1;



查询本季度数据
SELECT * FROM 表名 WHERE QUARTER(时间字段名) = QUARTER(now());

查询上季度数据
SELECT * FROM 表名 WHERE QUARTER(时间字段名) = QUARTER(DATE_SUB(now(), INTERVAL 1 QUARTER));

查询本年数据
SELECT * FROM 表名 WHERE YEAR(时间字段名) = YEAR(now());

查询上年数据
SELECT * FROM 表名 WHERE YEAR(时间字段名) = YEAR(DATE_SUB(now(), INTERVAL 1 YEAR));

查询当前这周的数据
SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名, '%Y-%m-%d')) = YEARWEEK(now());

查询上周的数据
SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名, '%Y-%m-%d')) = YEARWEEK(now())-1;

查询上个月的数据
SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名, '%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH),'%Y-%m');

SELECT * FROM 表名 WHERE DATE_FORMAT(时间字段名, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m');

SELECT * FROM 表名 WHERE WEEKOFYEAR(FROM_UNIXTIME(时间字段名, '%y-%m-%d')) = WEEKOFYEAR(now());

SELECT * FROM 表名 WHERE MONTH(FROM_UNIXTIME(时间字段名, '%y-%m-%d')) = MONTH(now());

SELECT * FROM 表名 WHERE YEAR(FROM_UNIXTIME(时间字段名, '%y-%m-%d')) = YEAR(now()) AND MONTH(FROM_UNIXTIME(时间字段名, '%y-%m-%d')) = MONTH(now());

查询当前月份的数据
SELECT * FROM 表名&nbsp; WHERE DATE_FORMAT(时间字段名, '%Y-%m') = DATE_FORMAT(now(), '%Y-%m');

查询距离当前现在6个月的数据
SELECT * FROM 表名 WHERE 时间字段名 BETWEEN DATE_SUB(now(), INTERVAL 6 MONTH) AND now();

说明:本例子的查询字段默认都是*,为了提高性能,减轻数据库压力,最好根据需要更改为指定查询字段!

 

继续阅读
weinxin
微信公众号
分享IT信息技术、北海生活的网站。提供北海本地化的信息技术服务。
连线北海
  • 本文由 发表于 2019年10月26日17:06:51
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Tomcat增加管理账户 信息技术

Tomcat增加管理账户

默认情况下,Tomcat的管理功能是关闭的,如何开启? 使用文本编辑工具打开 ${TOMCAT_HOME}\conf\tomcat-users.xml 文件,在最下面可以看到Tomcat默认把用户以及...
Windows10扩展分区大小 信息技术

Windows10扩展分区大小

1       前言 由于应用程序的不断积累,导致系统盘的空间不断被消耗,如何扩展其空间的大小呢? 通过Windows 10的磁盘管理可以轻松完成这项任务,假设要扩展C盘,那么需要将与C盘相连的分区删...
Java库之Lombok的妙用 JAVA编程

Java库之Lombok的妙用

Lombok是目前比较流行的Java库,Lombok能以简单的注解形式来简化Java代码,提高开发人员的开发效率,免去额外的getter或equals等方法,降低由于修改引起的维护成本,Lombok在...
【进阶】-Java读写文件锁 JAVA编程

【进阶】-Java读写文件锁

众所周知,Java中锁的概念是非常重要的,锁可以保证资源的安全可控,恰当使用锁即可使得资源高效利用,又能保证线程的安全访问,编程中在读取文件的时候常常碰到文件锁的使用,本文简单阐述文件锁在Java中的...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: