16

有没有区别:

SELECT DATE_ADD('2005-01-01', INTERVAL 3 MONTH);

SELECT '2005-01-01' + INTERVAL 3 MONTH;
4

2 回答 2

17

不,它们是一样的。

于 2009-07-15T00:10:07.033 回答
5

我刚才问了一个类似的问题,自己找到了答案。以下是它们相同的理由:

SELECT BENCHMARK(20000000, DATE_ADD(NOW(), INTERVAL 3 MONTH));

+--------------------------------------------------------+
| BENCHMARK(20000000, DATE_ADD(NOW(), INTERVAL 3 MONTH)) |
+--------------------------------------------------------+
|                                                      0 |
+--------------------------------------------------------+
1 row in set (1.70 sec)


SELECT BENCHMARK(20000000, NOW() + INTERVAL 3 MONTH);
+-----------------------------------------------+
| BENCHMARK(20000000, NOW() + INTERVAL 3 MONTH) |
+-----------------------------------------------+
|                                             0 |
+-----------------------------------------------+
1 row in set (1.71 sec)
于 2014-02-23T06:45:14.443 回答