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)
  • 相关阅读:
    2019EC-Final参赛总结
    [2019HDU多校第五场][HDU 6626][C. geometric problem]
    [2019HDU多校第四场][HDU 6617][D. Enveloping Convex]
    [2019HDU多校第二场][HDU 6591][A. Another Chess Problem]
    [2019HDU多校第三场][HDU 6603][A. Azshara's deep sea]
    函数柯里化
    Polyfill 与 Shim
    Webpack 中的 Tree Shaking
    部署hexo后github pages页面未更新或无法打开问题
    如何删除github wiki page
  • 原文地址:https://www.cnblogs.com/huiAlex/p/9462879.html
Copyright © 2011-2022 走看看