Função MySQL TIME_FORMAT()

Resumo : neste tutorial, você aprenderá como usar a TIME_FORMAT()função MySQL para formatar valores de hora.

Introdução à função MySQL TIME_FORMAT()

A TIME_FORMAT()função permite formatar um valor de tempo de acordo com um formato específico.

Aqui está a sintaxe da TIME_FORMAT()função:

TIME_FORMAT(time, format)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • time: o valor de tempo que você deseja formatar.
  • format: a string de formato que determina como você deseja formatar o valor de hora.

O TIME_FORMAT()retorna uma string representando a hora formatada de acordo com a string de formato.

Se a hora ou formato for NULL, a TIME_FORMAT()função retornará NULL.

Como TIME_FORMAT()apenas formata dados de hora, a string de formato contém especificadores de formato apenas para horas, minutos, segundos e microssegundos.

A TIME_FORMAT()função é útil para apresentar dados de tempo em vários formatos para torná-los adequados às suas aplicações.

Especificadores de formato de hora

Veja a seguir uma lista de alguns especificadores de formato comuns que você pode usar na TIME_FORMAT()função:

  • %H: Hora (00-23)
  • %h: Hora (01-12)
  • %i: Minutos (00-59)
  • %s: Segundos (00-59)
  • %p: AM ou PM

Exemplos de funções MySQL TIME_FORMAT()

Vejamos alguns exemplos de uso da TIME_FORMAT()função.

1) Exemplo simples de função TIMEFORMAT()

O exemplo a seguir usa a TIME_FORMAT()função para formatar o valor literal de tempo '15:30:45':

SELECT TIME_FORMAT('15:30:45', '%h:%i %p');Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+-------------------------------------+
| TIME_FORMAT('15:30:45', '%h:%i %p') |
+-------------------------------------+
| 03:30 PM                            |
+-------------------------------------+
1 row in set (0.00 sec)Linguagem de código:  texto simples  ( texto simples )

2) Usando a função TIME_FORMAT() com dados da tabela

Primeiro, crie uma nova tabela chamada appointmentscom a seguinte estrutura:

CREATE TABLE appointments (
    id INT AUTO_INCREMENT PRIMARY KEY,
    time TIME NOT NULL,
    description VARCHAR(255) NOT NULL
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

A appointmentstabela possui três colunas:

  • id: uma chave primária incrementada automaticamente.
  • time: Uma coluna para armazenar a hora do compromisso.
  • description: uma coluna para armazenar uma descrição do compromisso.

Segundo, insira algumas linhas na appointmentstabela:

INSERT INTO appointments (time, description) 
VALUES
    ('10:00:00', 'Meeting with client'),
    ('14:30:00', 'Team discussion'),
    ('16:45:00', 'Project presentation'),
    ('18:15:00', 'Dinner with colleagues');Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, use a TIME_FORMAT()função para formatar os dados de horário da appointmentstabela:

SELECT 
  id, 
  description, 
  TIME_FORMAT(time, '%h:%i %p') AS time 
FROM 
  appointments;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+----+------------------------+----------+
| id | description            | time     |
+----+------------------------+----------+
|  1 | Meeting with client    | 10:00 AM |
|  2 | Team discussion        | 02:30 PM |
|  3 | Project presentation   | 04:45 PM |
|  4 | Dinner with colleagues | 06:15 PM |
+----+------------------------+----------+
4 rows in set (0.00 sec)Linguagem de código:  texto simples  ( texto simples )

Neste exemplo, selecionamos dados da appointmentstabela e usamos a TIME_FORMAT()função para formatar a timecoluna em um formato mais legível.

Resumo

  • Use a TIME_FORMAT()função para formatar um valor de tempo de acordo com um formato.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *