2009-07-15 5 views
16

Gibt es einen Unterschied zwischen:MySQL: DATE_ADD

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

und

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

Antwort

16

Nein, sind sie gleich.

5

Ich habe gerade eine ähnliche Frage gestellt und die Antwort selbst gefunden. Hier ist die Begründung, warum sie sind die gleichen:

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)