2014-02-21 6 views
1

Я tring, чтобы преобразовать формат времени, как 12:00:00 в секундах, с помощью функции MySQL. Я получил сообщение: У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с: 00: 00. Что я могу сделать? Невозможно ли преобразовать формат? Пожалуйста, проверьте мой кодMySQL - Невозможно преобразовать формат времени в секундах

Это работает

SELECT TIME_TO_SEC(TIMEDIFF(2014-02-21 12:00:00,2014-02-21 13:00:00)) AS TimeInSecs 
FROM Tbl_Time 

Это не работает

SELECT TIME_TO_SEC(TIMEDIFF(12:00:00,13:00:00)) AS TimeInSecs 
FROM Tbl_Time 
+0

Время рассматривается как String, так что вам нужно одиночные qoutes как 'TIME_TO_SEC (TimeDiff ('12: 00: 00' , '13:00:00')) ' – Ali

ответ

5

Вы должны поставить одиночные кавычки ' с датой и временем

SELECT TIME_TO_SEC(TIMEDIFF('12:00:00','13:00:00')); 

SELECT TIME_TO_SEC(TIMEDIFF('2014-02-21 12:00:00','2014-02-21 13:00:00')) AS TimeInSecs ; 

TimeDiff() возвращает expr1 - expr2, выраженное как время стоимость. expr1 и expr2 - это выражения времени или даты и времени, но оба они должны быть одного типа .

Have a look how TIMEDIFF works.

2

Попробуйте это ' одинарные кавычки

SELECT TIME_TO_SEC(TIMEDIFF('2014-02-21 12:00:00','2014-02-21 13:00:00')) AS TimeInSecs ; 
SELECT TIME_TO_SEC(TIMEDIFF('12:00:00','13:00:00')); 

TIMEDIFF()

Смежные вопросы