zoukankan      html  css  js  c++  java
  • MySQL 查询今天、昨天、本周、本月、上一月 、今年数据

    参考链接:

    https://www.cnblogs.com/winner-0715/p/6132838.html

    一、查询天数据

    1.查询今天数据

    利用TO_DAYS函数

    SELECT * FROM student 
    WHERE TO_DAYS(Sage) = TO_DAYS(NOW())

    注:

    DATE_FORMAT(NOW(),'%Y-%m-%d')为一个日期,不能直接进行加减1操作。

      加减某个时间间隔函数date_add()与date_sub()

    date_add('某个日期时间',interval 1 时间种类名);

    2.查询明天的数据

    SELECT * FROM student 
    WHERE DATE_FORMAT(Sage,'%Y-%m-%d') = date_add(DATE_FORMAT(NOW(),'%Y-%m-%d'), interval 1 day)

    3.查询昨天的数据:

    SELECT * FROM student 
    WHERE DATE_FORMAT(Sage,'%Y-%m-%d') = date_add(DATE_FORMAT(NOW(),'%Y-%m-%d'), interval -1 day)

    二、查询周数据

    利用函数week

     可以看到,返回了当前日期所在的周数,再进行匹配

    1.查询本周数据

    SELECT * FROM student 
    WHERE WEEK(DATE_FORMAT(Sage,'%Y-%m-%d')) = WEEK(now())

    2.查询下周数据

    SELECT * FROM student 
    WHERE WEEK(DATE_FORMAT(Sage,'%Y-%m-%d')) = WEEK(now())+1

    三、查询月数据

    SELECT *,DATE_FORMAT(Sage,'%m') s,DATE_FORMAT(now(),'%m') FROM student 

    将月份取出,再进行匹配

    1.查询本月数据

    SELECT * FROM student 
    WHERE DATE_FORMAT(Sage,'%m')= DATE_FORMAT(now(),'%m')

    2.查询下月数据

    SELECT * FROM student 
    WHERE DATE_FORMAT(Sage,'%m')= DATE_FORMAT(now(),'%m')+1
    SELECT * FROM student 
    WHERE PERIOD_DIFF(DATE_FORMAT(NOW(),'%Y%m'), DATE_FORMAT(Sage,'%Y%m'))=-1

    3.查询上月数据

    SELECT * FROM student
    WHERE period_diff(DATE_FORMAT(NOW(),'%Y-%m'),DATE_FORMAT(Sage,'%Y-%m'))=1

     四、查询年数据,与月同理

    SELECT *,DATE_FORMAT(Sage,'%Y') s,DATE_FORMAT(now(),'%Y') FROM student 

     再进行匹配

    如,我想查找30年前出生的人,将当前年份减去30

    SELECT * FROM student 
    WHERE DATE_FORMAT(Sage,'%Y') =DATE_FORMAT(now(),'%Y')-30

  • 相关阅读:
    C++primer习题3.13
    Indesign技巧
    《转载》虚函数在对象中的内存布局
    C++new失败后如何处理
    sizeof的用法
    转载 C++中虚继承防止二义性
    字符串反转
    回文写法
    C++术语
    QT+VS2008
  • 原文地址:https://www.cnblogs.com/jescs/p/12199543.html
Copyright © 2011-2022 走看看