Při používání MySQL můžete použít TIME_TO_SEC()
funkce, která vrátí počet sekund v časové hodnotě. Konkrétně tato funkce vrací argument času převedený na sekundy.
Tuto funkci nezaměňujte s TO_SECONDS()
funkce, která po zadání argumentu date nebo datetime vrátí počet sekund od roku 0.
Zde je postup TIME_TO_SEC()
funguje.
Syntaxe
Syntaxe vypadá takto:
TIME_TO_SEC(time)
Kde time
je hodnota času, kterou chcete převést na sekundy.
Příklad 1 – Základní příklad
Zde je příklad k demonstraci.
SELECT TIME_TO_SEC('00:01:00');
Výsledek:
+-------------------------+ | TIME_TO_SEC('00:01:00') | +-------------------------+ | 60 | +-------------------------+
Příklad 2 – Větší hodnota
A takhle to vypadá, když použijeme větší časovou hodnotu:
SELECT TIME_TO_SEC('01:00:00');
Výsledek:
+-------------------------+ | TIME_TO_SEC('01:00:00') | +-------------------------+ | 3600 | +-------------------------+
Příklad 3 – Aktuální čas
Můžete předat CURTIME()
funguje jako argument pro vrácení počtu sekund v aktuálním čase.
SELECT CURTIME() AS 'Current Time', TIME_TO_SEC(CURTIME()) AS 'Seconds';
Výsledek:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:04:47 | 32687 | +--------------+---------+
Zde je stejný příklad, ale s použitím CURRENT_TIME()
funkce (což je synonymum pro CURTIME()
).
SELECT CURRENT_TIME() AS 'Current Time', TIME_TO_SEC(CURRENT_TIME()) AS 'Seconds';
Výsledek:
+--------------+---------+ | Current Time | Seconds | +--------------+---------+ | 09:05:23 | 32723 | +--------------+---------+
Příklad 4 – Uplynulý čas
Typ časových údajů není omezen pouze na denní dobu. Lze jej také použít k zobrazení uplynulého času.
Zde je příklad získání počtu sekund za 400 hodin.
SELECT TIME_TO_SEC('400:00:00');
Výsledek:
+--------------------------+ | TIME_TO_SEC('400:00:00') | +--------------------------+ | 1440000 | +--------------------------+