MySQL根据时间快速查询

连线北海
连线北海
管理员
201
文章
1 字数 496阅读1分39秒

MySQL根据时间快速查询

今天
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
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
    • wordpress建站吧
      wordpress建站吧 1

      有用,收藏了

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
    确定