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
.