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类型,查询两个日期范围内的数据。
方式一、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')
|