2009-07-15 17 views
16

C'è una differenza tra:MySQL: DATE_ADD

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

e

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

risposta

16

No, sono lo stesso.

5

Ho fatto una domanda simile proprio ora e ho trovato la risposta da solo. Ecco il motivo per cui tali sono la stessa cosa:

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)