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