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

  • 相关阅读:
    将元素平分成差值最小的两个集合(DP)
    新年趣事之打牌(01背包+唯一路径)
    offer(背包问题、DP)
    整数划分(完全背包)
    饭卡(DP)
    等和的分隔子集(dp)
    LaunchPad(思维)
    The flower(寻找出现m次以上,长度为k的子串)
    Morse code(多模式串匹配)
    平分娃娃(多重背包+二进制枚举)
  • 原文地址:https://www.cnblogs.com/jescs/p/12199543.html
Copyright © 2011-2022 走看看