Pergunta
Existe uma diferença entre:
SELECT DATE_ADD('2005-01-01', INTERVAL 3 MONTH);
e
SELECT '2005-01-01' + INTERVAL 3 MONTH;
Solução
Não, eles são o mesmo.
Outras dicas
Eu fiz uma pergunta semelhante agora e encontrei a resposta sozinho. Aqui está a justificação por que eles são os mesmos:
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)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow