En PostgreSQL, isfinite() pruebas de función para una fecha finita, marca de tiempo o intervalo.
Esto puede ser útil, porque Postgres admite fechas/marcas de tiempo infinitas. Por ejemplo, podría tener una marca de tiempo de infinito o infinito negativo, y esta función le permite probar eso.
Sintaxis
La función toma un parámetro, que puede ser una fecha , marca de tiempo o intervalo :
isfinite(date)
isfinite(timestamp)
isfinite(interval) Ejemplo
Aquí hay un ejemplo de cómo funciona con una fecha valor.
SELECT isfinite(date '2020-10-23'); Resultado:
True
Dependiendo de dónde lo ejecute, puede obtener un true o false , o una t o f resultado.
Obtuve el resultado anterior al usar Azure Data Studio.
Cuando lo ejecuto en psql , obtengo el siguiente resultado:
t
Marca de tiempo
Aquí está con una marca de tiempo valor.
SELECT isfinite(timestamp '2020-10-23 12:30:45'); Resultado:
True
Intervalo
Aquí está con un intervalo valor.
SELECT isfinite(interval '2 hours 30 minutes'); Resultado:
True
Infinito
Todos los ejemplos anteriores devuelven verdadero. Aquí hay uno que devuelve falso. En este caso uso el infinity constante.
SELECT isfinite('infinity'::timestamp); Resultado:
False
Infinito negativo
Mismo resultado cuando se usa infinito negativo.
SELECT isfinite('-infinity'::timestamp); Resultado:
False