Когато използвате MySQL, можете да използвате TIME_TO_SEC() функция за връщане на броя секунди във времева стойност. По-конкретно, тази функция връща аргумента за време, преобразуван в секунди.
Тази функция не трябва да се бърка с TO_SECONDS() функция, която при даден аргумент дата или дата и час връща броя секунди от година 0.
Ето как TIME_TO_SEC() работи.
Синтаксис
Синтаксисът е така:
TIME_TO_SEC(време)
Където time е стойността на времето, която искате да преобразувате в секунди.
Пример 1 – Основен пример
Ето пример за демонстрация.
ИЗБЕРЕТЕ TIME_TO_SEC('00:01:00'); Резултат:
+------------------------+| TIME_TO_SEC('00:01:00') |+------------------------+| 60 |+------------------------+ Пример 2 – По-голяма стойност
И ето как изглежда, когато използваме по-голяма времева стойност:
ИЗБЕРЕТЕ TIME_TO_SEC('01:00:00'); Резултат:
+------------------------+| TIME_TO_SEC('01:00:00') |+------------------------+| 3600 |+------------------------+ Пример 3 – Текущо време
Можете да предадете CURTIME() функция като аргумент за връщане на броя на секундите в текущото време.
ИЗБЕРЕТЕ CURTIME() КАТО 'Текущо време', TIME_TO_SEC(CURTIME()) КАТО 'Секунди';
Резултат:
<пред>+--------------+--------+| Текущо време | Секунди |+--------------+--------+| 09:04:47 | 32687 |+--------------+--------+
Ето същия пример, но с помощта на CURRENT_TIME() функция (която е синоним на CURTIME() ).
ИЗБЕРЕТЕ CURRENT_TIME() КАТО 'Текущо време', TIME_TO_SEC(CURRENT_TIME()) КАТО 'Секунди';
Резултат:
<пред>+--------------+--------+| Текущо време | Секунди |+--------------+--------+| 09:05:23 | 32723 |+--------------+--------+Пример 4 – Изминало време
Типът данни за времето не е ограничен само до час от деня. Може да се използва и за представяне на изминало време.
Ето пример за получаване на броя на секундите за 400 часа.
ИЗБЕРЕТЕ TIME_TO_SEC('400:00:00'); Резултат:
+-------------------------+| TIME_TO_SEC('400:00:00') |+-------------------------+| 1440000 |+----------------------------------+