Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SEC_TO_TIME() Beispiele – MySQL

Wenn Sie MySQL verwenden, können Sie SEC_TO_TIME() verwenden Funktion zum Erstellen einer Zeit Wert basierend auf einer bestimmten Anzahl von Sekunden. Grundsätzlich geben Sie die Anzahl der Sekunden als Argument an und es wird diese in eine Zeit umwandeln Wert.

So funktioniert es.

Syntax

Die Syntax lautet wie folgt:

SEC_TO_TIME(seconds)

Wobei seconds ist die Anzahl der Sekunden, die Sie in eine Zeit umwandeln möchten Wert.

Beispiel 1 – Grundlegende Verwendung

Hier ist ein Beispiel zur Veranschaulichung.

SELECT SEC_TO_TIME(65);

Ergebnis:

+-----------------+
| SEC_TO_TIME(65) |
+-----------------+
| 00:01:05        |
+-----------------+

Beispiel 2 – Ein größerer Wert

Hier ist ein Beispiel mit einem etwas größeren Wert.

SELECT SEC_TO_TIME(6555);

Ergebnis:

+-------------------+
| SEC_TO_TIME(6555) |
+-------------------+
| 01:49:15          |
+-------------------+

Hier ist wieder einer mit einem noch größeren Wert.

SELECT SEC_TO_TIME(655555);

Ergebnis:

+---------------------+
| SEC_TO_TIME(655555) |
+---------------------+
| 182:05:55           |
+---------------------+

Der Zeitwert ist also nicht auf 24 Stunden begrenzt. Dies liegt daran, dass es nicht darauf beschränkt ist, nur die Tageszeit darzustellen. Es könnte auch die verstrichene Zeit oder ein Zeitintervall zwischen zwei Ereignissen darstellen.

Beispiel 3 – Einschränkungen des Zeitdatentyps

Die time Der Datentyp ist auf einen Bereich von -838:59:59 beschränkt zu 838:59:59 . Wenn das Ergebnis außerhalb dieses Bereichs liegt, erhalten Sie eine Warnung.

SELECT SEC_TO_TIME(6555555);

Ergebnis:

+----------------------+
| SEC_TO_TIME(6555555) |
+----------------------+
| 838:59:59            |
+----------------------+
1 row in set, 1 warning (0.00 sec)

Seien Sie jedoch vorsichtig. Der angezeigte Zeitwert könnte irreführend sein, da er bei 838:59:59 stoppt selbst wenn das Ergebnis größer gewesen wäre.

Hier ist ein weiteres Beispiel mit einem noch größeren Wert.

SELECT SEC_TO_TIME(65555550000);

Ergebnis:

+--------------------------+
| SEC_TO_TIME(65555550000) |
+--------------------------+
| 838:59:59                |
+--------------------------+
1 row in set, 1 warning (0.00 sec)

Beachten Sie, dass wir das gleiche Ergebnis wie im vorherigen Beispiel erhalten, obwohl das Sekunden-Argument in diesem viel größer ist.

Beispiel 4 – Numerischer Kontext

Hier ist ein Beispiel für die Verwendung von SEC_TO_TIME() im Zahlenkontext. Dazu fügen wir einen Wert hinzu (in diesem Fall 0 ) zur Anweisung.

SELECT 
    SEC_TO_TIME(6555),
    SEC_TO_TIME(6555) + 0;

Ergebnis:

+-------------------+-----------------------+
| SEC_TO_TIME(6555) | SEC_TO_TIME(6555) + 0 |
+-------------------+-----------------------+
| 01:49:15          |                 14915 |
+-------------------+-----------------------+