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