2009-07-15 9 views
16

Y at-il une différence entre:MySQL: DATE_ADD

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

et

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

Répondre

16

Non, ce sont les mêmes.

5

J'ai posé une question similaire tout à l'heure et j'ai trouvé la réponse moi-même. Voici la justification pourquoi ils sont les mêmes:

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)