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