Dans MariaDB, SECOND()
est une fonction de date et d'heure intégrée qui renvoie la partie des secondes d'une expression de temps donnée.
Il accepte un argument, qui est l'heure à partir de laquelle vous voulez extraire les secondes.
Les secondes sont renvoyées sous la forme d'un nombre dans la plage 0
à 59
.
Syntaxe
La syntaxe ressemble à ceci :
SECOND(time)
Où time
est l'expression de temps à partir de laquelle obtenir les secondes.
Exemple
Voici un exemple :
SELECT SECOND('10:30:45');
Résultat :
+--------------------+ | SECOND('10:30:45') | +--------------------+ | 45 | +--------------------+
Voici un autre exemple qui inclut les microsecondes :
SELECT SECOND('10:30:45.123456');
Résultat :
+---------------------------+ | SECOND('10:30:45.123456') | +---------------------------+ | 45 | +---------------------------+
Dans tous les cas, le résultat est le même.
Valeurs DateHeure
Cela fonctionne également avec les valeurs datetime :
SELECT SECOND('2030-02-01 10:30:45');
Résultat :
+-------------------------------+ | SECOND('2030-02-01 10:30:45') | +-------------------------------+ | 45 | +-------------------------------+
Date actuelle
Nous pouvons passer NOW()
comme argument datetime pour utiliser l'heure actuelle :
SELECT
NOW(),
SECOND(NOW());
Résultat :
+---------------------+---------------+ | NOW() | SECOND(NOW()) | +---------------------+---------------+ | 2021-05-16 14:32:40 | 40 | +---------------------+---------------+
Arguments invalides
Lorsqu'un argument de temps non valide est passé, SECOND()
renvoie null
:
SELECT SECOND('10:75:00');
Résultat :
+--------------------+ | SECOND('10:75:00') | +--------------------+ | NULL | +--------------------+
Argument manquant
Appel de SECOND()
avec le mauvais nombre d'arguments, ou sans passer d'arguments, génère une erreur :
SELECT SECOND();
Résultat :
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
Et un autre exemple :
SELECT SECOND('10:30:45', '06:30:45');
Résultat :
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '06:30:45')' at line 1