PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come funziona IsFinite() in PostgreSQL

In PostgreSQL, isfinite() test di funzione per una data, un timestamp o un intervallo finiti.

Questo può essere utile, perché Postgres supporta date/timestamp infiniti. Ad esempio, potresti avere un timestamp di infinito o infinito negativo e questa funzione ti consente di verificarlo.

Sintassi

La funzione accetta un parametro, che può essere una data , indicatore orario o intervallo :

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

Esempio

Ecco un esempio di come funziona con una data valore.

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

Risultato:

True

A seconda di dove lo esegui, potresti ottenere un true o false o un t o f risultato.

Ho ottenuto il risultato precedente utilizzando Azure Data Studio.

Quando lo eseguo in psql , ottengo il seguente risultato:

t

Data e ora

Eccolo con un timestamp valore.

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

Risultato:

True

Intervallo

Eccolo con un intervallo valore.

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

Risultato:

True

Infinito

Tutti gli esempi precedenti restituiscono true. Eccone uno che restituisce falso. In questo caso utilizzo infinity costante.

SELECT isfinite('infinity'::timestamp);

Risultato:

False

Infinito negativo

Stesso risultato quando si utilizza l'infinito negativo.

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

Risultato:

False