mysql - 查询日期范围 '01-01-2019' 和 '02-02-2019' 不起作用

标签 mysql

我有一个日期范围在“01-01-2019”和“03-02-2019”之间的查询,当我更改日期范围的第(02)天(如“01-01-2019”)和“02-02-2019”则查询无法正常工作。

我有一个查询,日期范围从“01-01-2019”到“03-02-2019”,例如

SELECT * FROM `customer_info` WHERE `rec_date` between '01-01-2019'  and  '03-02-2019'

所以它可以工作,但是当我更改日期范围的日期(例如从“01-01-2019”到“02-02-2019”)并且查询为

SELECT * FROM `customer_info` WHERE `rec_date` between '01-01-2019'  and  '02-02-2019'

但是查询不起作用。

我希望从此查询中它应该在更改 TO 日期范围的日期后获取记录:“02-02-2019”。请告诉我解决方案为什么它不获取记录。

最佳答案

仅包含日期: MySQL 日期格式是这样的:YYYY-MM-DD。可以通过简单的方式查询

select * from customer_info where rec_date between '2019-01-01' and '2019-02-02'

或者

select * from customer_info where rec_date between >= '2019-01-01' and '2019-02-02'

包含日期和时间: 只需使用 MySQL 处理日期的格式 YYYY-MM-DD HH:MM:SS 并将查询设置为

select * from customer_info where rec_date >= '2019-01-01' and rec_date <= '2019-02-02'

特别是 MySQL 现在支持亚秒级时间精度。使用 23:59:59 距离一天结束还差一整秒。其中rec_date >= '2019-01-01' 和rec_date <= '2019-02-02' 是定义日期范围的最精确方法,并且适用于从日期到亚秒单位的任何时间精度级别。

或者

就这么简单。

select * from customer_info where rec_date between '2019-01-01 00:00:00' and '2019-02-02 23:59:00'

关于mysql - 查询日期范围 '01-01-2019' 和 '02-02-2019' 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54549435/

相关文章:

mysql - 如何使用 GROUP BY 和 ORDER BY 对多个表的金额求和?

mysql: ERROR 1217 (23000): 无法删除或更新父行:外键约束失败

mysql - 使用主文本键创建 MySQL 表

php清理输出表单数组

MySQL - 如果不存在则创建用户

java - 访问远程机器上的MySQL

php - 如何排除选择和所有相关的(MySQL + PHP)

php - php向数据库插入多条记录

php - 如何使用 php 从 mysql 表中删除超过 30 分钟或 24 小时的数据

python - 如果我有外键,我该如何在 Django 中执行此 "order by"?