在MySQL中,SUB_DATE()函数和直接从日期中减去数字之间的区别?
我在Leetcode上遇到了这个MySQL问题。给定表在MySQL中,SUB_DATE()函数和直接从日期中减去数字之间的区别?,mysql,Mysql,我在Leetcode上遇到了这个MySQL问题。给定表温度 +---------+------------+------------------+ | Id(INT) | Date(DATE) | Temperature(INT) | +---------+------------+------------------+ | 1 | 2015-01-01 | 10 | | 2 | 2015-01-02 | 25 |
温度
+---------+------------+------------------+
| Id(INT) | Date(DATE) | Temperature(INT) |
+---------+------------+------------------+
| 1 | 2015-01-01 | 10 |
| 2 | 2015-01-02 | 25 |
| 3 | 2015-01-03 | 20 |
| 4 | 2015-01-04 | 30 |
+---------+------------+------------------+
我们的目标是编写一个SQL查询,以查找所有日期的ID,这些ID的温度高于以前(昨天)的日期
所以我写了一些东西如下,通过了13/14测试用例:
select W1.Id
from Weather as W1, Weather as W2
where W1.Date-1 = W2.Date and W1.Temperature> W2.Temperature
我在论坛上查看了一个解决方案,发现一个类似的解决方案通过了所有案例:
select W1.Id
from Weather as W1, Weather as W2
where subdate(W1.Date,1) = W2.Date and W1.Temperature> W2.Temperature
所以我的问题是W1.Date-1和subdate(W1.Date,1)之间的区别是什么,因为subdate也从W1.Date减去1天 在mysql中也是如此。
您可以在mysql数据库中进行测试。字段日期的类型是什么?是日期还是时间戳?请给出测试用例的示例。。因为我检查并得到不正确的结果:选择“2015-01-01 10:00:10'-1”或选择“2015-01-01'-1”日期减法可以这样写:日期-间隔1天。我想你可以通过你自己来找出区别。嗨,草莓,我试着每隔一天约会一次,结果成功了。Hi@JorgeCampos,我相信是约会型的