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