MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como SECOND() funciona no MariaDB


No MariaDB, SECOND() é uma função de data e hora integrada que retorna a parte de segundos de uma determinada expressão de tempo.

Ele aceita um argumento, que é o tempo do qual você deseja extrair os segundos.

Os segundos são retornados como um número no intervalo 0 para 59 .

Sintaxe


A sintaxe fica assim:
SECOND(time)

Onde time é a expressão de tempo para obter os segundos.

Exemplo


Aqui está um exemplo:
SELECT SECOND('10:30:45');

Resultado:
+--------------------+
| SECOND('10:30:45') |
+--------------------+
|                 45 |
+--------------------+

Aqui está outro exemplo que inclui microssegundos:
SELECT SECOND('10:30:45.123456');

Resultado:
+---------------------------+
| SECOND('10:30:45.123456') |
+---------------------------+
|                        45 |
+---------------------------+

De qualquer forma, o resultado é o mesmo.

Valores de data e hora


Também funciona com valores de data e hora:
SELECT SECOND('2030-02-01 10:30:45');

Resultado:
+-------------------------------+
| SECOND('2030-02-01 10:30:45') |
+-------------------------------+
|                            45 |
+-------------------------------+

Data atual


Podemos passar NOW() como argumento datetime para usar a hora atual:
SELECT 
    NOW(),
    SECOND(NOW());

Resultado:
+---------------------+---------------+
| NOW()               | SECOND(NOW()) |
+---------------------+---------------+
| 2021-05-16 14:32:40 |            40 |
+---------------------+---------------+

Argumentos inválidos


Ao passar um argumento de tempo inválido, SECOND() retorna null :
SELECT SECOND('10:75:00');

Resultado:
+--------------------+
| SECOND('10:75:00') |
+--------------------+
|               NULL |
+--------------------+

Argumento ausente


Chamando SECOND() com o número errado de argumentos, ou sem passar nenhum argumento, resulta em um erro:
SELECT SECOND();

Resultado:
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

E outro exemplo:
SELECT SECOND('10:30:45', '06:30:45');

Resultado:
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