Při práci s MySQL můžete použít TIME() funkce pro extrahování části času z hodnoty času nebo data a času.
Funguje to tak, že jako argument předáte výraz time/datetime a TIME() vrátí časovou část.
Syntaxe
Syntaxe vypadá takto:
TIME(expr)
Kde expr je výraz čas/datum a čas, ze kterého chcete extrahovat časovou část.
Základní příklad
Zde je příklad použití hodnoty datetime.
SELECT TIME('2021-01-03 11:15:45');
Výsledek:
+-----------------------------+
| TIME('2021-01-03 11:15:45') |
+-----------------------------+
| 11:15:45 |
+-----------------------------+
Zlomkové sekundy
Zde je příklad, kdy hodnota datetime obsahuje také část ve zlomcích sekund.
SELECT TIME('2021-01-03 11:15:45.123456');
Výsledek:
+------------------------------------+
| TIME('2021-01-03 11:15:45.123456') |
+------------------------------------+
| 11:15:45.123456 |
+------------------------------------+
Vynechání druhé části
Zde je příklad, kdy je část sekund z počáteční hodnoty vynechána.
SELECT TIME('2021-01-03 11:15');
Výsledek:
+--------------------------+
| TIME('2021-01-03 11:15') |
+--------------------------+
| 11:15:00 |
+--------------------------+
V tomto případě je část sekund stále vrácena, i když byla vynechána z počáteční hodnoty.
Extrakce času z hodnoty „času“
Jak již bylo zmíněno, prvním argumentem může být samotná hodnota času (tj. nemusí to být hodnota data a času).
SELECT TIME('11:15');
Výsledek:
+---------------+
| TIME('11:15') |
+---------------+
| 11:15:00 |
+---------------+
Replikace založená na příkazech – upozornění
Dokumentace MySQL uvádí o TIME() následující funkce:
Tato funkce není bezpečná pro replikaci založenou na příkazech. Pokud tuto funkci použijete při
binlog_format, zaznamená se varování je nastaveno naSTATEMENT.