Mysql
 sql >> Database >  >> RDS >> Mysql

SEC_TO_TIME() Esempi – MySQL

Quando usi MySQL, puoi usare SEC_TO_TIME() funzione per costruire un tempo valore basato su un determinato numero di secondi. Fondamentalmente, fornisci il numero di secondi come argomento e lo convertirà in un tempo valore.

Ecco come funziona.

Sintassi

La sintassi è questa:

SEC_TO_TIME(seconds)

Dove seconds è il numero di secondi che vuoi convertire in un tempo valore.

Esempio 1 – Utilizzo di base

Ecco un esempio da dimostrare.

SELECT SEC_TO_TIME(65);

Risultato:

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

Esempio 2:un valore maggiore

Ecco un esempio con un valore leggermente maggiore.

SELECT SEC_TO_TIME(6555);

Risultato:

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

Eccone uno con un valore ancora più grande.

SELECT SEC_TO_TIME(655555);

Risultato:

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

Quindi il valore del tempo non è limitato a 24 ore. Questo perché non si limita a rappresentare solo l'ora del giorno. Potrebbe anche rappresentare il tempo trascorso o un intervallo di tempo tra due eventi.

Esempio 3 – Limitazioni sul tipo di dati temporali

Il time il tipo di dati è limitato a un intervallo compreso tra -838:59:59 a 838:59:59 . Se il risultato non rientra in tale intervallo, riceverai un avviso.

SELECT SEC_TO_TIME(6555555);

Risultato:

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

Stai attento però. Il valore del tempo mostrato potrebbe essere fuorviante, poiché si fermerà a 838:59:59 anche se il risultato sarebbe stato maggiore di quello.

Ecco un altro esempio che utilizza ancora un valore maggiore.

SELECT SEC_TO_TIME(65555550000);

Risultato:

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

Si noti che otteniamo lo stesso risultato dell'esempio precedente, anche se in questo l'argomento dei secondi è molto più grande.

Esempio 4 – Contesto numerico

Ecco un esempio di utilizzo di SEC_TO_TIME() in un contesto numerico. Lo facciamo aggiungendo un valore (in questo caso 0 ) alla dichiarazione.

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

Risultato:

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