sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur justify_hours() fungerar i PostgreSQL

I PostgreSQL, justify_hours() funktionen låter dig justera ett intervall värde, så att 24-timmarsperioder representeras som dagar.

Om du till exempel har ett intervall på 24 timmar justify_hours() returnerar den som 1 dag .

Syntax

Funktionen har följande syntax:

justify_hours(interval)

Där interval är intervallet som du vill ha representerat i dagar.

Exempel

Här är ett grundläggande exempel att visa.

SELECT justify_hours(interval '24 hours');

Resultat:

1 day

Delvisa dagar

Här är ett exempel på vad som händer när ditt intervall inte är en exakt multipel av 24 timmar

\x
SELECT 
  justify_hours(interval '30 hours'),
  justify_hours(interval '300 hours'),
  justify_hours(interval '3000 hours'),
  justify_hours(interval '3.53 months');

Resultat (med vertikal utdata):

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

Observera att när du anger intervallet i månader, representeras resultatet i termer av månader och dagar, snarare än bara dagar.

I det här exemplet använde jag \x för att växla över till utökad visning, som visar resultaten med vertikal utmatning. Detta gör det något lättare att läsa resultaten.

Mindre än en dag

Om intervallet är mindre än 24 timmar kvarstår det i timmar.

SELECT justify_hours(interval '15 hours');

Resultat (med vertikal utdata):

15:00:00

  1. IDLE timeout-parameter i Oracle

  2. Vad är skillnaden mellan varchar och varchar2 i Oracle?

  3. Hur bestämmer jag den sista dagen i föregående månad med PostgreSQL?

  4. Det går inte att ansluta till SQL Server med PHP