我正在从 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/