gpt4 book ai didi

mysql - DATEDIFF 与 (w1.date = w2.date +1) 的区别? MySQL语法

转载 作者:行者123 更新时间:2023-12-02 06:11:41 36 4
gpt4 key购买 nike

我正在使用 MySQL 解决 SQL 数据库问题。目标是找到所有满足今天比昨天温暖的 ID。我将向您展示我的原始代码,它通过了 3 个测试用例中的 2 个,然后是满足所有 3 个测试用例的修改后的代码。

这两者在功能上有什么区别?是 MySQL 的东西,leetcode 的东西,还是别的东西?

原创

SELECT DISTINCT w2.id
FROM weather w1, weather w2
WHERE w2.RecordDate = w1.RecordDate +1 AND w2.temperature > w1.temperature

已修改

SELECT DISTINCT w2.id
FROM weather w1, weather w2
WHERE DATEDIFF(w2.RecordDate,w1.RecordDate) =1 AND w2.temperature > w1.temperature

唯一的区别是使用 DATEDIFF 或使用 w2.recordDate = w1.recordDate + 1

我想知道,这两者有什么区别?

编辑:这是 LC 问题 https://leetcode.com/problems/rising-temperature/

最佳答案

这不符合您的要求:

w2.RecordDate = w1.RecordDate + 1

由于您对日期使用数字算术,因此此表达式会隐式将日期转换为数字,将 1 添加到其中之一,然后比较结果。根据具体日期,它有时可能会起作用,但这是一种错误的方法。例如,假设您的日期是 '2020-01-31',那么加 1 将生成整数 20200132

MySQL 理解日期算术,所以我会使用:

w2.RecordDate = w1.RecordDate + interval 1 day

关于mysql - DATEDIFF 与 (w1.date = w2.date +1) 的区别? MySQL语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59845732/

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