Mysql
 sql >> Base de données >  >> RDS >> Mysql

SECOND() Exemple – MySQL

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)

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' et 1112 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' et 12 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 |
+---------------------------------+