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