違いはありますか?
SELECT DATE_ADD('2005-01-01', INTERVAL 3 MONTH);
と
SELECT '2005-01-01' + INTERVAL 3 MONTH;
いいえ、同じです。
私はちょうど今同様の質問をし、自分で答えを見つけました。それらが同じである理由は次のとおりです。
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)