zoukankan      html  css  js  c++  java
  • Mysql:查询当天、今天、本周、上周、本月、上月、本季度、本年的数据

    1. 今天

    select * from 表名 WHERE TO_DAYS(时间字段名) = TO_DAYS(NOW());

    2. 昨天

    SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1

    3. 本周

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

     注意:这里取得的一周是从星期日到星期六,这与国内的使用习惯不同,国内的一周是指周一到周日。国外把周日算作每周的第一天,比国内早算了一天。因此我们要在原有的基础上减去一天

    SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m-%d') - INTERVAL 1 DAY) = YEARWEEK(NOW() - INTERVAL 1 DAY);

    以下计算同理

    4. 上周

    SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m-%d')) = YEARWEEK(NOW())-1;

    5. 下周

    SELECT * FROM 表名 WHERE YEARWEEK(DATE_FORMAT(时间字段名,'%Y-%m-%d')) = YEARWEEK(NOW()) +1;

    6. 本月

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

    7. 上月

    SELECT * FROM 表名 WHERE PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( 时间字段名, '%Y%m' ) ) =1

    8. 下月

    SELECT * FROM 表名 WHERE PERIOD_DIFF( DATE_FORMAT( NOW( ) , '%Y%m' ) , DATE_FORMAT( 时间字段名, '%Y%m' ) ) = -1

    9. 本季度

    SELECT * FROM 表名 where QUARTER(时间字段名)= QUARTER(NOW());

    10. 上季度

    SELECT * FROM 表名 where QUARTER(时间字段名)=QUARTER(DATE_SUB(NOW(),INTERVAL 1 QUARTER));

    11. 本年

    SELECT * FROM 表名 WHERE YEAR(时间字段名)=YEAR(NOW());

    12. 去年

    SELECT * FROM 表名 WHERE YEAR(时间字段名)=YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR));

    13. 未来3天

    SELECT * FROM 表名 WHERE 时间字段 BETWEEN NOW() AND ADDDATE(NOW(), INTERVAL 3 DAY)
  • 相关阅读:
    线程和信号
    线程取消状态和取消类型
    线程本地缓存
    线程安全函数的概念
    线程/同步对象的属性对象
    查看安全策略
    ss性能
    三次握手四次断开
    线程同步--屏障
    vs2008 编译时候 自动关闭 问题解决方法
  • 原文地址:https://www.cnblogs.com/huiAlex/p/9462879.html
Copyright © 2011-2022 走看看