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