In PostgreSQL ist isfinite()
Funktionstests für ein endliches Datum, Zeitstempel oder Intervall.
Dies kann nützlich sein, da Postgres unendliche Datums-/Zeitstempel unterstützt. Beispielsweise könnten Sie einen Zeitstempel von unendlich oder negativ unendlich haben, und diese Funktion ermöglicht Ihnen, dies zu testen.
Syntax
Die Funktion akzeptiert einen Parameter, der entweder ein Datum sein kann , Zeitstempel , oder Intervall :
isfinite(date)
isfinite(timestamp)
isfinite(interval)
Beispiel
Hier ist ein Beispiel dafür, wie es mit einem Datum funktioniert Wert.
SELECT isfinite(date '2020-10-23');
Ergebnis:
True
Je nachdem, wo Sie es ausführen, erhalten Sie möglicherweise entweder ein true
oder false
, oder ein t
oder f
Ergebnis.
Ich habe das obige Ergebnis bei der Verwendung von Azure Data Studio erhalten.
Wenn ich es in psql ausführe , erhalte ich folgendes Ergebnis:
t
Zeitstempel
Hier ist es mit einem Zeitstempel Wert.
SELECT isfinite(timestamp '2020-10-23 12:30:45');
Ergebnis:
True
Intervall
Hier ist es mit einem Intervall Wert.
SELECT isfinite(interval '2 hours 30 minutes');
Ergebnis:
True
Unendlich
Alle vorherigen Beispiele geben true zurück. Hier ist einer, der false zurückgibt. In diesem Fall verwende ich den infinity
konstant.
SELECT isfinite('infinity'::timestamp);
Ergebnis:
False
Negative Unendlichkeit
Gleiches Ergebnis bei Verwendung von negativ unendlich.
SELECT isfinite('-infinity'::timestamp);
Ergebnis:
False