Wanneer u met MySQL werkt, kunt u de TIME() . gebruiken functie om het tijdgedeelte uit een tijd- of datetime-waarde te extraheren.
De manier waarop het werkt, is dat je de time/datetime-expressie doorgeeft als een argument, en TIME() zal het tijdsdeel teruggeven.
Syntaxis
De syntaxis gaat als volgt:
TIME(expr)
Waar expr is de time/datetime-expressie waaruit u het tijdsgedeelte wilt halen.
Basisvoorbeeld
Hier is een voorbeeld met een datetime-waarde.
SELECT TIME('2021-01-03 11:15:45');
Resultaat:
+-----------------------------+
| TIME('2021-01-03 11:15:45') |
+-----------------------------+
| 11:15:45 |
+-----------------------------+
Fractionele seconden
Hier is een voorbeeld waarbij de datetime-waarde ook een fractie van een seconde bevat.
SELECT TIME('2021-01-03 11:15:45.123456');
Resultaat:
+------------------------------------+
| TIME('2021-01-03 11:15:45.123456') |
+------------------------------------+
| 11:15:45.123456 |
+------------------------------------+
Het tweede deel weglaten
Hier is een voorbeeld waarbij het secondengedeelte is weggelaten uit de beginwaarde.
SELECT TIME('2021-01-03 11:15');
Resultaat:
+--------------------------+
| TIME('2021-01-03 11:15') |
+--------------------------+
| 11:15:00 |
+--------------------------+
In dit geval wordt het secondengedeelte nog steeds geretourneerd, ook al is het weggelaten uit de oorspronkelijke waarde.
De tijd extraheren uit een 'tijd'-waarde
Zoals vermeld, kan het eerste argument zelf een tijdwaarde zijn (d.w.z. het hoeft geen datetime-waarde te zijn).
SELECT TIME('11:15');
Resultaat:
+---------------+
| TIME('11:15') |
+---------------+
| 11:15:00 |
+---------------+
Op verklaringen gebaseerde replicatie – waarschuwing
In de MySQL-documentatie staat het volgende over de TIME() functie:
Deze functie is onveilig voor replicatie op basis van instructies. Er wordt een waarschuwing vastgelegd als u deze functie gebruikt wanneer binlog_format is ingesteld op STATEMENT .