Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySQL中,SUB_DATE()函数和直接从日期中减去数字之间的区别?_Mysql - Fatal编程技术网

在MySQL中,SUB_DATE()函数和直接从日期中减去数字之间的区别?

在MySQL中,SUB_DATE()函数和直接从日期中减去数字之间的区别?,mysql,Mysql,我在Leetcode上遇到了这个MySQL问题。给定表温度 +---------+------------+------------------+ | Id(INT) | Date(DATE) | Temperature(INT) | +---------+------------+------------------+ | 1 | 2015-01-01 | 10 | | 2 | 2015-01-02 | 25 |

我在Leetcode上遇到了这个MySQL问题。给定表
温度

+---------+------------+------------------+
| 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,我相信是约会型的