• mysql数据库要按当天、昨天、前七日、近三十天、季度、年查询


    今天花了些时间整理了下MySQL中分别查找当天、昨天、近一周、近一个月等等时间段数据的代码

    1、查询今天数据的语句

    select * frim  表名  where to_days(时间字段名)==to_days(now());
    select now();//获得当前时间 格式:2016-01-12 23:21:33
    select curdate();//获得当前时间 格式: 2016-01-12
    select curtime();//获得当前时间 格式:23:19:43

    2、查询昨天数据的语句

    select * from 表名 where to_days(now())-to_days(时间字段名)=1;

    3、查询七天语句

    select * from 表名 where  date_sub(curdate(),interval 7 day)<=date(时间字段名);
    或者  select * from 表名 where  时间字段名>=date_sub(curdate(),interval 7 day);

    4、查询近一个月的语句

    select * from 表名 where  date_sub(curdate(),interval 1 month)<=date(时间字段名);
    或者 select * from 表名 where  时间字段>=date_sub(curdate(),interval 1 month);

    5、查询本季度数据

    select * from 表名 where QUARTER(时间字段名)=QUARTER(now());
    QUARTER(date);//返回的一年日期,取值范围为1至4季度。

    6、查询上季度数据

    select * from 表名 where  QUARTER(时间字段名)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));

    6、查询本年的数据

    select * from 表名 where YEAR(时间字段名)=YEAR(NOW());

    7、查询去年数据

    select * from 表名 where  year(时间字段名)=year(date_sub(now(),interval 1 year)); 

    8、查询当前这一周的数据

    SELECT name,时间字段名 FROM 表名 WHERE  YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now());

    9、查询上周的数据

    SELECT name,时间字段名 FROM 表名 WHERE  YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;

    10、查询当前月份的数据

    select name,时间字段名 from 表名   where  date_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m')

    11、查询上个月的数据

    select name,时间字段名 from 表名   where  date_format(时间字段名,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m');
    DATE_FORMAT();//函数用于以不同的格式显示日期/时间数据。

    12、MySQL中日期时间函数大全

    DAYOFWEEK(date)    
      返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)
          mysql> select DAYOFWEEK('1998-02-03'); -> 3
    WEEKDAY(date)
      返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)
          mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5
          mysql> select WEEKDAY('1997-11-05'); -> 2
    DAYOFMONTH(date)
      返回date是一月中的第几日(在1到31范围内)
          mysql> select DAYOFMONTH('1998-02-03'); -> 3
    DAYOFYEAR(date)
      返回date是一年中的第几日(在1到366范围内)
          mysql> select DAYOFYEAR('1998-02-03'); -> 34
    MONTH(date)
      返回date中的月份数值
          mysql> select MONTH('1998-02-03'); ->2
  • 相关阅读:
    什么是工厂模式
    冒泡算法
    CSS中的绝对定位与相对定位
    JS function立即调用的几种写法
    paip.java 线程无限wait的解决
    paip.java 多线程参数以及返回值Future FutureTask 的使用.
    PAIP.并发编程 多核编程 线程池 ExecutorService的判断线程结束
    paip.slap工具与于64位win7与JDBC的性能对比
    JProfiler8 注册码序列号
    paip.提升性能---mysql 优化cpu多核以及lan性能的关系.
  • 原文地址:https://www.cnblogs.com/ww-ervin-72/p/5126020.html
Copyright © 2020-2023  润新知