Categorias:

Funções de data e hora

TIME_FROM_PARTS

Cria uma hora a partir de componentes numéricos individuais.

Aliases:

TIMEFROMPARTS

Sintaxe

TIME_FROM_PARTS( <hour>, <minute>, <second> [, <nanoseconds>] )
Copy

Argumentos

Obrigatório:

hour

Uma expressão inteira a ser usada como uma hora para criar uma hora, geralmente na faixa 0-23.

minute

Uma expressão inteira a ser usada como um minuto para criar uma hora, geralmente na faixa 0-59.

second

Uma expressão inteira a ser usada como um segundo para criar uma hora, geralmente na faixa 0-59.

Opcional:

nanoseconds

Uma expressão de números inteiros de 9 dígitos para usar como um nanossegundo para criar uma hora.

Notas de uso

TIME_FROM_PARTS é normalmente usado para lidar com valores em faixas “normais” (por exemplo, 0-23 horas, 0-59 minutos), mas também lida com valores de fora dessas faixas. Isto permite, por exemplo, escolher o enésimo minuto em um dia, que pode ser usado para simplificar alguns cálculos.

Exemplos

ALTER SESSION SET TIME_OUTPUT_FORMAT='HH24:MI:SS.FF9';
Copy

Componentes em faixas normais:

select time_from_parts(12, 34, 56, 987654321);

----------------------------------------+
 TIME_FROM_PARTS(12, 34, 56, 987654321) |
----------------------------------------+
 12:34:56.987654321                     |
----------------------------------------+
Copy

Componentes fora da faixa normal:

  • 100º minuto (a partir da meia-noite)

  • 12345 segundos (a partir do meio-dia)

    select time_from_parts(0, 100, 0), time_from_parts(12, 0, 12345);
    
    ----------------------------+-------------------------------+
     TIME_FROM_PARTS(0, 100, 0) | TIME_FROM_PARTS(12, 0, 12345) |
    ----------------------------+-------------------------------+
     01:40:00.000000000         | 15:25:45.000000000            |
    ----------------------------+-------------------------------+
    
    Copy