Lorsque vous utilisez MySQL, vous pouvez utiliser le SEC_TO_TIME()
fonction pour construire un temps valeur basée sur un nombre donné de secondes. Fondamentalement, vous fournissez le nombre de secondes comme argument, et il le convertira en un temps valeur.
Voici comment cela fonctionne.
Syntaxe
La syntaxe ressemble à ceci :
SEC_TO_TIME(seconds)
Où seconds
est le nombre de secondes que vous voulez convertir en temps valeur.
Exemple 1 - Utilisation de base
Voici un exemple pour illustrer.
SELECT SEC_TO_TIME(65);
Résultat :
+-----------------+ | SEC_TO_TIME(65) | +-----------------+ | 00:01:05 | +-----------------+
Exemple 2 - Une valeur plus grande
Voici un exemple avec une valeur légèrement supérieure.
SELECT SEC_TO_TIME(6555);
Résultat :
+-------------------+ | SEC_TO_TIME(6555) | +-------------------+ | 01:49:15 | +-------------------+
En voici une avec une valeur encore plus grande.
SELECT SEC_TO_TIME(655555);
Résultat :
+---------------------+ | SEC_TO_TIME(655555) | +---------------------+ | 182:05:55 | +---------------------+
La valeur temporelle n'est donc pas limitée à 24 heures. En effet, il ne se limite pas à représenter uniquement l'heure de la journée. Il peut également représenter le temps écoulé ou un intervalle de temps entre deux événements.
Exemple 3 - Limitations sur le type de données de temps
L'time
le type de données est limité à une plage de -838:59:59 à 838:59:59 . Si le résultat se situe en dehors de cette plage, vous recevrez un avertissement.
SELECT SEC_TO_TIME(6555555);
Résultat :
+----------------------+ | SEC_TO_TIME(6555555) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.00 sec)
Soyez prudent cependant. La valeur de temps affichée peut être trompeuse, car elle s'arrêtera à 838:59:59 même si le résultat aurait été plus important que cela.
Voici un autre exemple utilisant à nouveau une valeur encore plus grande.
SELECT SEC_TO_TIME(65555550000);
Résultat :
+--------------------------+ | SEC_TO_TIME(65555550000) | +--------------------------+ | 838:59:59 | +--------------------------+ 1 row in set, 1 warning (0.00 sec)
Notez que nous obtenons le même résultat que dans l'exemple précédent, même si l'argument des secondes est beaucoup plus grand dans celui-ci.
Exemple 4 – Contexte numérique
Voici un exemple d'utilisation de SEC_TO_TIME()
dans un contexte numérique. Nous faisons cela en ajoutant une valeur (dans ce cas 0
) à l'instruction.
SELECT SEC_TO_TIME(6555), SEC_TO_TIME(6555) + 0;
Résultat :
+-------------------+-----------------------+ | SEC_TO_TIME(6555) | SEC_TO_TIME(6555) + 0 | +-------------------+-----------------------+ | 01:49:15 | 14915 | +-------------------+-----------------------+