首页 > 解决方案 > 在查询中的日期之间搜索未显示正确的结果

问题描述

我正在尝试在 Mysql 数据库中的日期之间运行查询,并且我保存在数据中的日期格式是dd-mm-yyyy

但是我得到了上一年的日期以及搜索的数据。

下面是我的代码

SELECT * FROM `msr_bills` WHERE `bill_date` BETWEEN '15-09-2021' AND '23-09-2021';

标签: phpmysql

解决方案


尝试:

SELECT * FROM `msr_bills` 
WHERE STR_TO_DATE(bill_date, '%d-%m-%Y')
BETWEEN STR_TO_DATE('15-09-2021', '%d-%m-%Y')  AND  STR_TO_DATE('23-09-2021', '%d-%m-%Y') ;

https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_str-to-date

当您以文本格式存储数据时,您始终应将其转换为正确的日期格式


推荐阅读