mysql - 如何检查日期是否在两个日期之间mysql?

标签 mysql date-formatting date-range

我正在从 mysql 数据库中查询日期。当我尝试仅选择某个起始日期和截止日期之间的日期时,我没有得到预期的结果。

我的查询:

select * from tbl_billing where date BETWEEN '09-02-2017' and '10-02-2017'

我的输出:

09-02-2017
10-02-2017
10-01-2017
09-01-2017
09-01-2017

我想要的结果:

09-02-2017
10-02-2017

最佳答案

你可以使用规范的sql日期格式

select * from tbl_billing where date BETWEEN '2017-02-09' and '2017-02-10'

或使用 str_to_date 正确转换

select * from tbl_billing where date BETWEEN str_to_date('09-02-2017', '%d-%m-%Y')
            and  str_to_date('10-02-2017', '%d-%m-%Y')

但如果您的date 也是varchar,那么您也必须转换此列

select * from tbl_billing where str_to_date(date,'%d-%m-%Y')  BETWEEN str_to_date('09-02-2017', '%d-%m-%Y')
            and  str_to_date('10-02-2017', '%d-%m-%Y')

关于mysql - 如何检查日期是否在两个日期之间mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42314651/

相关文章:

mysql - 在 SQL 中,如何通过查找与一列相等的所有行来更新表的每一行,然后将另一列设置为彼此相等

mysql - 在迁移到 SQL Server 2008 之前将 MySQL SQL 模式设置得更严格

javascript - 将 isoDatetime 转换为 dateTime 格式

javascript - 计算两个时间的天差

php - 在 MySQL 中通过单个查询获取今天、本周、本月和今年的数据?

MySQL+Sphinx 只有一个索引有效,其他都无效

php - 如何在日期和月份不带前导零的情况下验证日期?

r - 确定一个月中的某一天是否在一个日期范围内,独立于它的年份

html - Bootstrap : Add Glyphicon inside input box

php - 我在 win xp 上安装了 php5.2.9 +mysql 5.1+apache2.2.6 。iam 无法让 php 连接到 mysql