PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como justify_hours() funciona no PostgreSQL


No PostgreSQL, o justify_hours() função permite ajustar um intervalo valor, para que os períodos de 24 horas sejam representados como dias.

Por exemplo, se você tiver um intervalo de, digamos, 24 horas justify_hours() irá devolvê-lo como 1 dia .

Sintaxe


A função tem a seguinte sintaxe:
justify_hours(interval)

Onde interval é o intervalo que você deseja representar em dias.

Exemplo


Aqui está um exemplo básico para demonstrar.
SELECT justify_hours(interval '24 hours');

Resultado:
1 day

Dias parciais


Aqui está um exemplo do que acontece quando seu intervalo não é um múltiplo exato de 24 horas
\x
SELECT 
  justify_hours(interval '30 hours'),
  justify_hours(interval '300 hours'),
  justify_hours(interval '3000 hours'),
  justify_hours(interval '3.53 months');

Resultado (usando saída vertical):
justify_hours | 1 day 06:00:00
justify_hours | 12 days 12:00:00
justify_hours | 125 days
justify_hours | 3 mons 15 days 21:36:00

Observe que ao fornecer o intervalo em meses, o resultado é representado em termos de meses e dias, em vez de apenas dias.

Neste exemplo eu usei \x para alternar para a exibição expandida, que exibe os resultados usando a saída vertical. Isso facilita um pouco a leitura dos resultados.

Menos de um dia


Se o intervalo for inferior a 24 horas, permanece em horas.
SELECT justify_hours(interval '15 hours');

Resultado (usando saída vertical):
15:00:00