No MariaDB,
CURTIME()
é uma função interna de data e hora que retorna a hora atual. A hora é retornada em
'HH:MM:SS'
ou HHMMSS.uuuuuu
formato, dependendo se a função está sendo usada em uma string ou contexto numérico. Você também tem a opção de especificar a precisão de microssegundos.
Sintaxe
A sintaxe fica assim:
CURTIME([precision])
Onde
precision
é um argumento opcional que especifica a precisão de microssegundos. Também possui os seguintes sinônimos:
CURRENT_TIME
CURRENT_TIME([precision])
Exemplo
Aqui está um exemplo:
SELECT CURTIME();
Resultado:
+-----------+| CURTIME() |+-----------+| 09:30:12 |+-----------+
Contexto Numérico
Quando
CURTIME()
é usado em um contexto numérico, o tempo resultante está em HHMMSS.uuuuuu
formato. Exemplo:
SELECT
CURTIME(),
CURTIME() + 0;
Resultado:
+-----------+---------------+| CURTIME() | CURTIME() + 0 |+-----------+---------------+| 09:31:39 | 93139 |+-----------+---------------+
Precisão
Aqui está um exemplo de especificação de precisão de microssegundos:
SELECT
CURTIME(3),
CURTIME(3) + 0;
Resultado:
+--------------+----------------+| CURTIME(3) | CURTIME(3) + 0 |+--------------+----------------+| 09:32:44.678 | 93244.678 |+--------------+----------------+
O valor máximo para a precisão de microssegundos é 6. Veja o que acontece quando um número mais alto é passado para a precisão:
SELECT CURTIME(12);
Resultado:
ERRO 1426 (42000):Precisão muito grande 12 especificada para 'curtime'. O máximo é 6
Sinônimos
CURRENT_TIME
e CURRENT_TIME()
são sinônimos de CURTIME()
. Portanto, podemos usar qualquer um para obter o mesmo resultado. Exemplo:
SELECT
CURTIME(),
CURRENT_TIME,
CURRENT_TIME();
Resultado:
+-----------+--------------+----------------+| CURTIME() | CURRENT_TIME | CURRENT_TIME() |+-----------+-------------+----------------+| 09:33:32 | 09:33:32 | 09:33:32 |+-----------+--------------+---------------- +
Adicionando à hora atual
Há muitas maneiras de realizar aritmética em valores de tempo no MariaDB. Você pode usar esses métodos para adicionar um número de horas, minutos, segundos, etc.
Aqui está um exemplo de uso do operador de adição (
+
) para adicionar 2 horas ao tempo:SELECT
CURTIME(),
CURTIME() + INTERVAL 2 HOUR;
Resultado:
+------------+-----------------------------+| CURTIME() | CURTIME() + INTERVAL 2 HOUR |+-----------+----------------------------- +| 09:35:03 | 11:35:03 |+-----------+-----------------------------+
Veja também funções comoADDTIME()
para uma maneira alternativa de adicionar à hora atual.
Subtraindo da hora atual
Aqui está um exemplo de uso do operador de subtração (-
) para subtrair 2 horas da hora atual:
SELECT CURTIME(), CURTIME() - INTERVAL 2 HOUR;
Resultado:
+------------+-----------------------------+| CURTIME() | CURTIME() - INTERVAL 2 HOUR |+-----------+----------------------------- +| 09:35:41 | 07:35:41 |+-----------+-----------------------------+
Veja funções comoSUBTIME()
para uma maneira alternativa de subtrair da hora atual.