php - 在查询中的日期之间搜索未显示正确的结果
问题描述
我正在尝试在 Mysql 数据库中的日期之间运行查询,并且我保存在数据中的日期格式是dd-mm-yyyy
但是我得到了上一年的日期以及搜索的数据。
下面是我的代码
SELECT * FROM `msr_bills` WHERE `bill_date` BETWEEN '15-09-2021' AND '23-09-2021';
解决方案
尝试:
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
当您以文本格式存储数据时,您始终应将其转换为正确的日期格式
推荐阅读
- css - 如何将 MDC Web 的 Filled TextField 的高度设置为更小,但仍允许浮动标签正确浮动?
- javascript - WebExtensions:onConnect 的意义何在?onMessage 似乎是多余的
- angular - 如果发生错误异常,我如何计算执行重试运算符的次数
- generics - 将 trait 中方法的返回类型与实现该 trait 的类型绑定
- r - 如何从 ggplot2 中的汇总统计信息制作箱线图?
- javascript - 在 MS Edge 中使用 beforeunload 事件处理程序
- solr - 分面搜索 - 使用带有 AND / OR 连接的多个方面
- python - 如何在 Python 中使用 Beautifulsoup 获取嵌套标签的文本?
- java - 使用 onOptionsItemSelected 和 Kotlin 启动新活动
- javascript - 使用条件类型提取返回值类型