sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo funciona IsFinite() en PostgreSQL

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