zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Codeforces 1255B Fridge Lockers
    Codeforces 1255A Changing Volume
    Codeforces 1255A Changing Volume
    leetcode 112. 路径总和
    leetcode 129. 求根到叶子节点数字之和
    leetcode 404. 左叶子之和
    leetcode 104. 二叉树的最大深度
    leetcode 235. 二叉搜索树的最近公共祖先
    450. Delete Node in a BST
    树的c++实现--建立一棵树
  • 原文地址:https://www.cnblogs.com/ww-ervin-72/p/5126020.html
Copyright © 2011-2022 走看看