PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment IsFinite() fonctionne dans PostgreSQL

Dans PostgreSQL, le isfinite() tests de fonction pour une date, un horodatage ou un intervalle fini.

Cela peut être utile, car Postgres prend en charge des dates/horodatages infinis. Par exemple, vous pourriez avoir un horodatage à l'infini ou à l'infini négatif, et cette fonction vous permet de tester cela.

Syntaxe

La fonction prend un paramètre, qui peut être soit une date , horodatage , ou intervalle :

isfinite(date)
isfinite(timestamp)
isfinite(interval)

Exemple

Voici un exemple de la façon dont cela fonctionne avec une date valeur.

SELECT isfinite(date '2020-10-23');

Résultat :

True

Selon l'endroit où vous l'exécutez, vous pouvez obtenir soit un true ou false , ou un t ou f résultat.

J'ai obtenu le résultat ci-dessus lors de l'utilisation d'Azure Data Studio.

Quand je l'exécute en psql , j'obtiens le résultat suivant :

t

Horodatage

Le voici avec un horodatage valeur.

SELECT isfinite(timestamp '2020-10-23 12:30:45');

Résultat :

True

Intervalle

Le voici avec un intervalle valeur.

SELECT isfinite(interval '2 hours 30 minutes');

Résultat :

True

Infini

Tous les exemples précédents renvoient vrai. En voici une qui renvoie false. Dans ce cas j'utilise le infinity constante.

SELECT isfinite('infinity'::timestamp);

Résultat :

False

Infini négatif

Même résultat lors de l'utilisation de l'infini négatif.

SELECT isfinite('-infinity'::timestamp);

Résultat :

False