V PostgreSQL je to isfinite() funkční testy pro konečné datum, časové razítko nebo interval.
To může být užitečné, protože Postgres podporuje nekonečné množství dat/časových razítek. Můžete mít například časové razítko nekonečna nebo záporného nekonečna a tato funkce vám to umožňuje otestovat.
Syntaxe
Funkce přebírá jeden parametr, kterým může být buď datum , časové razítko nebo interval :
isfinite(date)
isfinite(timestamp)
isfinite(interval) Příklad
Zde je příklad toho, jak to funguje s datem hodnotu.
SELECT isfinite(date '2020-10-23'); Výsledek:
True
V závislosti na tom, kde jej spustíte, můžete získat buď true nebo false , nebo t nebo f výsledek.
Při používání Azure Data Studio jsem získal výše uvedený výsledek.
Když to spustím v psql , dostávám následující výsledek:
t
Časové razítko
Tady je to s časovým razítkem hodnotu.
SELECT isfinite(timestamp '2020-10-23 12:30:45'); Výsledek:
True
Interval
Tady je to s intervalem hodnotu.
SELECT isfinite(interval '2 hours 30 minutes'); Výsledek:
True
Nekonečno
Všechny předchozí příklady vrátí hodnotu true. Zde je jeden, který vrací hodnotu false. V tomto případě používám infinity konstantní.
SELECT isfinite('infinity'::timestamp); Výsledek:
False
Negativní nekonečno
Stejný výsledek při použití záporného nekonečna.
SELECT isfinite('-infinity'::timestamp); Výsledek:
False