sql >> Database >  >> RDS >> Mysql

SEC_TO_TIME() Voorbeelden – MySQL

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 |
+-------------------+-----------------------+


  1. Machtigingen verlenen aan een MySQL-gebruiker op Linux via de opdrachtregel

  2. Controleer of de reeks bestaat in Postgres (plpgsql)

  3. Hoe de BINARY-operator werkt in MariaDB

  4. Postgresql SQL GROUP BY tijdsinterval met willekeurige nauwkeurigheid (tot milliseconden)