使用 date_format 选择日期范围 MySQL

2023-11-24

我在使用 MySQL 选择日期范围时遇到问题。

SELECT MvtDate,date_format(MvtDate,'%d-%m-%Y')
  FROM (`immmvt`)
 WHERE date_format(MvtDate,'%d-%m-%Y') BETWEEN '01-01-2010' AND '02-01-2010'

mvtDate类型类似于日期2010-01-01 00:00:00.

当我运行查询时,结果适用于天和月,但它也显示其他年份的其他结果。

Like 01-01-2011 etc.


你应该使用STR_TO_DATE因为你想转换string回到date

SELECT MvtDate, date_format(MvtDate,'%d-%m-%Y')
FROM  `immmvt`
WHERE MvtDate BETWEEN STR_TO_DATE('01-01-2010','%d-%m-%Y') AND 
                      STR_TO_DATE('02-01-2010','%d-%m-%Y')


FYI: DATE_FORMAT() converts date to formatted string representation.
     STR_TO_DATE() converts formatted string back to date
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 date_format 选择日期范围 MySQL 的相关文章

随机推荐