Le MySQL SECOND()
La fonction est utilisée pour renvoyer la deuxième composante à partir d'une valeur de temps.
La valeur de retour pour cette fonction est dans la plage 0 à 59 . Vous trouverez ci-dessous des exemples à démontrer.
Syntaxe
La syntaxe de cette fonction ressemble à ceci :
SECOND(time)
Où time
est la valeur temporelle à partir de laquelle vous souhaitez extraire le composant secondes.
Exemple 1 - Utilisation de base
Voici un exemple pour illustrer.
SELECT SECOND('10:35:27');
Résultat :
+--------------------+ | SECOND('10:35:27') | +--------------------+ | 27 | +--------------------+
Exemple 2 – Valeurs temporelles abrégées sans deux-points
Voici un exemple utilisant une valeur de temps abrégée sans deux-points.
SELECT SECOND('1227');
Résultat :
+----------------+ | SECOND('1227') | +----------------+ | 27 | +----------------+
Et voici un exemple où seuls deux chiffres sont fournis.
SELECT SECOND('27');
Résultat :
+--------------+ | SECOND('27') | +--------------+ | 27 | +--------------+
Donc MySQL interprète cela comme étant de 27 secondes.
Cependant, soyez prudent lorsque vous utilisez des valeurs temporelles abrégées, car MySQL peut parfois les interpréter différemment de ce à quoi vous pourriez vous attendre.
Voici ce que dit la documentation MySQL à ce sujet :
Soyez prudent lorsque vous attribuez des valeurs abrégées à un
TIME
colonne. MySQL interprète l'abréviationTIME
valeurs avec deux-points comme heure de la journée. Autrement dit,'11:12'
signifie'11:12:00'
, pas'00:11:12'
. MySQL interprète les valeurs abrégées sans deux-points en partant du principe que les deux chiffres les plus à droite représentent les secondes (c'est-à-dire le temps écoulé plutôt que l'heure de la journée). Par exemple, vous pourriez penser à'1112'
et1112
comme signifiant'11:12:00'
(12 minutes après 11 heures), mais MySQL les interprète comme'00:11:12'
(11 minutes, 12 secondes). De même,'12'
et12
sont interprétés comme'00:00:12'
.
Exemple 3 - Une alternative
Vous pouvez également utiliser le EXTRACT()
fonction pour extraire les secondes (et autres parties de date/heure) d'une valeur de date/heure :
SELECT EXTRACT(SECOND FROM '10:35:27');
Résultat :
+---------------------------------+ | EXTRACT(SECOND FROM '10:35:27') | +---------------------------------+ | 27 | +---------------------------------+