sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur IsFinite() fungerar i PostgreSQL

I PostgreSQL, isfinite() funktionstester för ett ändligt datum, tidsstämpel eller intervall.

Detta kan vara användbart, eftersom Postgres stöder oändliga datum/tidsstämplar. Du kan till exempel ha en tidsstämpel på oändlighet eller negativ oändlighet, och den här funktionen låter dig testa för det.

Syntax

Funktionen tar en parameter, som antingen kan vara ett datum , tidsstämpel , eller intervall :

isfinite(date)
isfinite(timestamp)
isfinite(interval)

Exempel

Här är ett exempel på hur det fungerar med ett datum värde.

SELECT isfinite(date '2020-10-23');

Resultat:

True

Beroende på var du kör det kan du få antingen en true eller false , eller en t eller f resultat.

Jag fick resultatet ovan när jag använde Azure Data Studio.

När jag kör det i psql , jag får följande resultat:

t

Tidsstämpel

Här är den med en tidsstämpel värde.

SELECT isfinite(timestamp '2020-10-23 12:30:45');

Resultat:

True

Intervall

Här är det med ett intervall värde.

SELECT isfinite(interval '2 hours 30 minutes');

Resultat:

True

Oändlighet

Alla tidigare exempel returnerar sant. Här är en som returnerar falskt. I det här fallet använder jag infinity konstant.

SELECT isfinite('infinity'::timestamp);

Resultat:

False

Negativ oändlighet

Samma resultat när du använder negativ oändlighet.

SELECT isfinite('-infinity'::timestamp);

Resultat:

False

  1. Returnera id om en rad finns, INSERT annars

  2. Undvik detta vanliga fel när du kör lagrad procedur i MS Access

  3. PHP MySQL Google Chart JSON - komplett exempel

  4. Lista alla indexnamn, kolumnnamn och dess tabellnamn för en PostgreSQL-databas