Bewerken: Welke versie van MySQL gebruik je? Het werkt prima op 5.0.22 tenminste. Ik heb net deze query uitgevoerd. zie hier
mysql> SELECT TIME_TO_SEC(TIMEDIFF('2000:01:01 00:00:00', '2001:01:01 00:00:00'));
+---------------------------------------------------------------------+
| TIME_TO_SEC(TIMEDIFF('2000:01:01 00:00:00', '2001:01:01 00:00:00')) |
+---------------------------------------------------------------------+
| -31622400 |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
Heb je hier gezien ? Het kan een afknottingsprobleem zijn omdat het tijdbereik veel kleiner is dan het datumverschil dat je hebt.
Oorspronkelijk antwoord
Gebruik dit
SELECT TIMESTAMPDIFF(SECOND,'2000:01:01 00:00:00', '2001:01:01 00:00:00');
+--------------------------------------------------------------------+
| TIMESTAMPDIFF(SECOND,'2000:01:01 00:00:00', '2001:01:01 00:00:00') |
+--------------------------------------------------------------------+
| 31622400 |
+--------------------------------------------------------------------+
Het probleem is dat je een negatieve tijd probeert om te zetten in tijd-in-seconde. Het verwisselen van de variabelen zal het werk doen.
SELECT TIME_TO_SEC(TIMEDIFF('2001:01:01 00:00:00','2000:01:01 00:00:00'));
+--------------------------------------------------------------------+
| TIME_TO_SEC(TIMEDIFF('2001:01:01 00:00:00','2000:01:01 00:00:00')) |
+--------------------------------------------------------------------+
| 31622400 |
+--------------------------------------------------------------------+