mysql怎样查询日期范围

MySQL 提供了 BETWEEN AND 关键字,用来判断字段的数值是否在指定范围内。

BETWEEN AND 需要两个参数,即范围的起始值和终止值。如果字段值在指定的范围内,则这些记录被返回。如果不在指定范围内,则不会被返回。

使用 BETWEEN AND 的基本语法格式如下:



1

[NOT] BETWEEN取值1 AND取值2



其中:

  • NOT:可选参数,表示指定范围之外的值。如果字段值不满足指定范围内的值,则这些记录被返回。
  • 取值1:表示范围的起始值。
  • 取值2:表示范围的终止值。

BETWEEN AND 和 NOT BETWEEN AND 关键字在查询指定范围内的记录时很有用。例如,查询学生的年龄段、出生日期,员工的工资水平等。

示例如下:

如下表,查询,create_time为datetime类型,查询两个日期范围内的数据。




mysql查询日期不为空的数据 mysql查日期范围_mysql


方式一、between...and(推荐)


1

SELECT* FROMk_student WHEREcreate_time between'2019-07-25 00:00:33'and'2019-07-25 00:54:33'


方式二、大小于号


1

SELECT* FROMk_student WHEREcreate_time >= '2019-07-25 00:00:33'ANDcreate_time <= '2019-07-25 00:54:32'


方式三、转换为UNIX_TIMESTAMP比较,create_time若加了索引,不走索引


1

SELECT* FROMk_student WHERE UNIX_TIMESTAMP(create_time) betweenUNIX_TIMESTAMP('2019-07-25 00:00:33') andUNIX_TIMESTAMP('2019-07-25 00:54:33')