Home  >  Article  >  Database  >  Mysql SQL查询今天、昨天、n天内、第n天

Mysql SQL查询今天、昨天、n天内、第n天

PHPz
PHPzOriginal
2016-06-07 15:52:251217browse

SQL语句如下:

注意:因为对索引列使用函数会导致索引失效,如果查询时需要使用到索引,请使用MySQL DATE_SUB() 函数

  • 查询当天的所有数据

SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())=0
  • 查询昨天的所有数据

SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())=-1
  • 查询未来第n天的所有数据

//当n为负数时,表示过去第n天的数据SELECT * FROM 表名WHERE DATEDIFF(字段,NOW())=n
  • 查询未来n天内所有数据

//n天内SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<n AND DATEDIFF(字段,NOW())>=0
  • 查询过去n天内所有数据

//包含当天SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<=0 AND DATEDIFF(字段,NOW())>-n//不包含当天SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())<0 AND DATEDIFF(字段,NOW())>-

DATEDIFF函数说明:

DATEDIFF() 函数用于返回两个日期之间的天数。  语法:DATEDIFF(date1,date2) date1 和 date2
 参数是合法的日期或日期/时间表达式。  注释:
  1. 只有值的日期部分参与计算。
  2. 当日期date1c17bb984f40b1ad8dfdf44d46166583edate2 时函数返回值为负数。
  3. Mysql的DATEDIFF只有两个参数。SQL Server有三个参数,详细内容可见:SQL Date函数

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn