PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como IsFinite() funciona no PostgreSQL


No PostgreSQL, o isfinite() testes de função para uma data finita, timestamp ou intervalo.

Isso pode ser útil, porque o Postgres suporta datas/timestamps infinitos. Por exemplo, você pode ter um timestamp de infinito ou infinito negativo, e esta função permite que você teste isso.

Sintaxe


A função usa um parâmetro, que pode ser uma data , carimbo de data e hora , ou intervalo :
isfinite(date)
isfinite(timestamp)
isfinite(interval)

Exemplo


Veja um exemplo de como funciona com uma data valor.
SELECT isfinite(date '2020-10-23');

Resultado:
True

Dependendo de onde você o executa, você pode obter um true ou false , ou um t ou f resultado.

Obtive o resultado acima ao usar o Azure Data Studio.

Quando eu executo no psql , obtenho o seguinte resultado:
t

Carimbo de data e hora


Aqui está com um timestamp valor.
SELECT isfinite(timestamp '2020-10-23 12:30:45');

Resultado:
True

Intervalo


Aqui está com um intervalo valor.
SELECT isfinite(interval '2 hours 30 minutes');

Resultado:
True

Infinito


Todos os exemplos anteriores retornam true. Aqui está um que retorna false. Neste caso eu uso o infinity constante.
SELECT isfinite('infinity'::timestamp);

Resultado:
False

Infinito Negativo


Mesmo resultado ao usar infinito negativo.
SELECT isfinite('-infinity'::timestamp);

Resultado:
False