Когато използвате 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 |+----------------------------------+