Wanneer u MySQL gebruikt, kunt u de SEC_TO_TIME()
. gebruiken functie om een tijd te bouwen waarde gebaseerd op een bepaald aantal seconden. In principe geef je het aantal seconden op als argument, en het zal dat omzetten in een tijd waarde.
Zo werkt het.
Syntaxis
De syntaxis gaat als volgt:
SEC_TO_TIME(seconds)
Waar seconds
is het aantal seconden dat u wilt converteren naar een tijd waarde.
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld om te demonstreren.
SELECT SEC_TO_TIME(65);
Resultaat:
+-----------------+ | SEC_TO_TIME(65) | +-----------------+ | 00:01:05 | +-----------------+
Voorbeeld 2 – Een grotere waarde
Hier is een voorbeeld met een iets grotere waarde.
SELECT SEC_TO_TIME(6555);
Resultaat:
+-------------------+ | SEC_TO_TIME(6555) | +-------------------+ | 01:49:15 | +-------------------+
Hier is er weer een met een nog grotere waarde.
SELECT SEC_TO_TIME(655555);
Resultaat:
+---------------------+ | SEC_TO_TIME(655555) | +---------------------+ | 182:05:55 | +---------------------+
De tijdswaarde is dus niet beperkt tot 24 uur. Dit komt omdat het niet beperkt is tot het weergeven van alleen het tijdstip van de dag. Het kan ook de verstreken tijd of een tijdsinterval tussen twee gebeurtenissen voorstellen.
Voorbeeld 3 – Beperkingen op het tijdgegevenstype
De time
gegevenstype is beperkt tot een bereik van -838:59:59 naar 838:59:59 . Als het resultaat buiten dat bereik valt, krijg je een waarschuwing.
SELECT SEC_TO_TIME(6555555);
Resultaat:
+----------------------+ | SEC_TO_TIME(6555555) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.00 sec)
Wees echter voorzichtig. De weergegeven tijdswaarde kan misleidend zijn, aangezien deze stopt om 838:59:59 zelfs als het resultaat groter zou zijn geweest.
Hier is nog een voorbeeld waarbij opnieuw een grotere waarde wordt gebruikt.
SELECT SEC_TO_TIME(65555550000);
Resultaat:
+--------------------------+ | SEC_TO_TIME(65555550000) | +--------------------------+ | 838:59:59 | +--------------------------+ 1 row in set, 1 warning (0.00 sec)
Merk op dat we hetzelfde resultaat krijgen als in het vorige voorbeeld, hoewel het seconden-argument in dit veel groter is.
Voorbeeld 4 – Numerieke context
Hier is een voorbeeld van het gebruik van SEC_TO_TIME()
in een numerieke context. Dit doen we door een waarde toe te voegen (in dit geval 0
) naar de verklaring.
SELECT SEC_TO_TIME(6555), SEC_TO_TIME(6555) + 0;
Resultaat:
+-------------------+-----------------------+ | SEC_TO_TIME(6555) | SEC_TO_TIME(6555) + 0 | +-------------------+-----------------------+ | 01:49:15 | 14915 | +-------------------+-----------------------+