gpt4 book ai didi

sql - 将日期时间转换为日期

转载 作者:行者123 更新时间:2023-11-29 05:44:01 25 4
gpt4 key购买 nike

我在 tbl1.date 和 tbl2.datetime 上有索引。当我执行以下操作时:

EXPLAIN SELECT * FROM tbl1 LEFT JOIN tbl2 ON tbl2.datetime = tbl1.date

tbl2.datetime 索引被使用(如预期的那样)

显然,我需要将 tbl2.datetime 转换为日期,以便 SELECT 语句在现实生活中发挥作用。但是,这样做会导致没有索引被使用:

EXPLAIN SELECT * FROM tbl1 LEFT JOIN tbl2 ON DATE(tbl2.date) = tbl1.date

我错过了什么?

更新:我试过类似的方法,但一直出现语法错误

"#1064.... check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT * FROM tbl1 LEFT JOIN tbl2 ON DATE( SELECT * FROM (SELECT DISTINCT datetime FROM tbl2.datetime) as tem' at line 1"

EXPLAIN SELECT * FROM tbl1 LEFT JOIN tbl2 ON DATE( SELECT * FROM (SELECT DISTINCT          
datetime FROM tbl2.datetime) as tempTable ) = quotes.GOOG.date

最佳答案

What am I missing?

无 - 您不能更改数据或数据类型并期望能够使用索引。

虽然为了比较而被更改,但索引中的值与您想要/需要使用的值之间没有任何联系。如果您希望看到使用索引,唯一的选择是以不需要更改的方式存储值。

关于sql - 将日期时间转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4281066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com