PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Funktionsweise von IsFinite() in PostgreSQL

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