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

  • 相关阅读:
    mysql导出某张表的部分数据
    linux命令行实用快捷键
    mysql导出数据库某些表的数据
    二进制日志过期时间设置expire_logs_days
    进程信息
    安装mysql-workbench
    create user
    系统io统计
    mysqldump与mydumper
    系统负载监控
  • 原文地址:https://www.cnblogs.com/jescs/p/12199543.html
Copyright © 2011-2022 走看看