gpt4 book ai didi

mysql - 在 Where 子句中处理日期的更好方法

转载 作者:可可西里 更新时间:2023-11-01 07:47:53 27 4
gpt4 key购买 nike

我想知道哪种类型的查询更好用:

SELECT * FROM table WHERE DATE >= '2010-7-20' AND DATE <= '2010-7-24'

SELECT * FROM table WHERE DATE_SUB('2010-07-24',INTERVAL 4 DAY) <= DATE

最佳答案

我总是使用 >=<组合。

因此,如果您想搜索这四天,您可以使用

where DATE >= '2010-07-20' AND DATE < '2010-07-24'

这确保您只获得您感兴趣的日期,即使混合了实际日期(没有时间部分)和日期时间也是如此。

因此,如果您有一个存储为 2010-07-20 09:00:00 的日期和一个存储为 2010-07-20 的日期,它们都会被包括在内,但日期 2010-07-24 不会。

我不相信 Between!我不确定 MySQL,但 SQL Server 中的 BETWEEN 会给你包含结果,所以如果你想要来自20号? (第 20、21、22 和 23 日)

因此不应包括 24 日的任何日期,即使是午夜......!

还有……通常在您的条件中使用函数可以防止优化器使用任何索引..!需要注意的事情。

更重要的是......第二个查询不会产生与第一个查询相同的结果...是否全部存在?

关于mysql - 在 Where 子句中处理日期的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3325705/

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