You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL中如何将DateTime转为Date并查询指定日期的销售记录?

解决Sales表按指定日期查询记录的问题

修正拼写后的基础查询

你之前的操作因字段名拼写错误(将datetime写成datatime)导致DATE()函数失效,修正拼写后即可实现日期转换与筛选:

SELECT * FROM sales WHERE DATE(datetime) = '2022-09-18';

高性能查询方案(推荐)

如果datetime列存在索引,直接在WHERE子句中使用函数会导致索引失效。改用范围查询可以充分利用索引,提升查询效率:

SELECT * FROM sales 
WHERE datetime >= '2022-09-18 00:00:00' 
  AND datetime < '2022-09-19 00:00:00';

长期优化方案

如果需要频繁按日期查询,可新增一个存储计算的date类型列(以MySQL为例):

ALTER TABLE sales ADD COLUMN sale_date DATE AS (DATE(datetime)) STORED;

新增列后,可直接通过该列查询,还能为其创建索引进一步优化:

CREATE INDEX idx_sale_date ON sales(sale_date);
SELECT * FROM sales WHERE sale_date = '2022-09-18';

内容的提问来源于stack exchange,提问作者Dolev Dublon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:50:27