MySql 查询某一天日期格式字段走索引问题
#字段有函数不走索引
EXPLAIN select * from t_user where date(create_time)='2024-03-28';
#精确查询某一天走索引
#datetime 精确查询某一天走索引
select * from t_user where create_time >=STR_TO_DATE(CONCAT('20240328','00:00:00'),'%Y%m%d%H:%i:%s')
and create_time <=STR_TO_DATE(CONCAT('20240328','23:59:59'),'%Y%m%d%H:%i:%s');
#某天最大 SELECT STR_TO_DATE(CONCAT('20240328','00:00:00'),'%Y%m%d%H:%i:%s'); #某天最小 select STR_TO_DATE(CONCAT('20240328','23:59:59'),'%Y%m%d%H:%i:%s');
#timestamp有毫秒 建议使用 大于等于今天0时,小于明天0时
select * from t_user where create_time >=STR_TO_DATE('20240328','%Y%m%d%H:%i:%s')
and create_time < DATE_ADD('20240328',INTERVAL 1 DAY);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步