Resumo : neste tutorial, você aprenderá como usar a CURRENT_TIME
função MySQL para obter a hora atual.
Introdução à função MySQL CURRENT_TIME
A CURRENT_TIME
função retorna a hora atual. Aqui está a sintaxe da CURRENT_TIME
função:
CURRENT_TIME
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
O CURRENT_TIME
não aceita nenhum argumento e retorna o valor da hora atual 'hh:mm:ss'
se for usado em um contexto de string e hhmmss
se for usado em um contexto numérico.
Além da CURRENT_TIME
função, você pode usar a CURRENT_TIME()
função ou CURTIME()
função para obter a hora atual. E você pode usar essas funções de forma intercambiável porque são sinônimos.
Observe que você não pode usar
Exemplo de função MySQL CURRENT_TIME
Vejamos alguns exemplos de uso da CURRENT_TIME
função.
1) Exemplos simples de funções CURRENT_TIME
O exemplo a seguir usa a CURRENT_TIME
função para obter a hora atual:
SELECT CURRENT_TIME;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+--------------+
| CURRENT_TIME |
+--------------+
| 09:36:20 |
+--------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, a CURRENT_TIME
função retorna a hora atual como uma string no formato 'hh:mm:ss'
. A razão é que usamos a CURRENT_TIME
função no contexto de string.
Se usarmos a CURRENT_TIME
função em um contexto numérico, ela retornará a hora atual no hhmmss
formato mostrado no exemplo a seguir:
SELECT CURRENT_TIME + 0;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
93620
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A saída 93620 possui três partes:
- Hora: 9
- Minutos: 36
- Segundos: 20
2) Usando o MySQL CURRENT_TIME com dados da tabela
No exemplo a seguir, mostraremos como usar a CURRENT_TIME
função para consultar dados de uma tabela.
Primeiro, crie uma nova tabela chamada events
com a seguinte estrutura:
CREATE TABLE events (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
start_date DATE NOT NULL,
start_time TIME NOT NULL
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Segundo, insira algumas linhas na events
tabela:
INSERT INTO events (name, start_date, start_time)
VALUES
('Tech Conference', '2023-10-18', '10:00:00'),
('AI Summit', '2023-10-18', '14:30:00'),
('WebDev World', '2023-10-18', '09:45:00');
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Terceiro, use a CURRENT_TIME
função para obter os eventos que ainda não começaram 2023-10-18
:
SELECT
*
FROM
events
WHERE
start_date = '2023-10-18'
and start_time > CURRENT_TIME;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Saída:
+----+-----------+------------+------------+
| id | name | start_date | start_time |
+----+-----------+------------+------------+
| 2 | AI Summit | 2023-10-18 | 14:30:00 |
+----+-----------+------------+------------+
1 row in set (0.00 sec)
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Observe que a consulta retornará o resultado com base no horário atual quando você a executar.
Valor de hora atual padrão
Observe que você não pode usar a CURRENT_TIME
função , CURRENT_TIME()
ou CURTIME()
como valor padrão para uma coluna em uma tabela. Portanto, as seguintes declarações resultarão em um erro:
CREATE TABLE test(
started_at TIME DEFAULT CURRENT_TIME
);
CREATE TABLE test(
started_at TIME DEFAULT CURRENT_TIME()
);
CREATE TABLE test(
started_at TIME DEFAULT CURTIME()
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Para usar a hora atual como valor padrão para uma coluna, você usa DATETIME ou TIMESTAMP como o tipo da coluna e a função NOW() como o valor padrão. Por exemplo:
CREATE TABLE test(
started_at DATETIME DEFAULT CURTIME()
);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use a
CURRENT_TIME
função para obter a hora atual como uma string no formato'hh:mm:ss'
ou como um número no formatohhmmss
.