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