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
.