В PostgreSQL isfinite()
функционални тестове за крайна дата, времеви печат или интервал.
Това може да бъде полезно, тъй като Postgres поддържа безкрайни дати/време. Например, можете да имате времева марка за безкрайност или отрицателна безкрайност и тази функция ви позволява да тествате за това.
Синтаксис
Функцията приема един параметър, който може да бъде или дата , клеймо за време , илиинтервал :
isfinite(date)
isfinite(timestamp)
isfinite(interval)
Пример
Ето пример за това как работи с дата стойност.
SELECT isfinite(date '2020-10-23');
Резултат:
True
В зависимост от това къде го стартирате, може да получите или true
или false
, или t
или f
резултат.
Получих горния резултат, когато използвах Azure Data Studio.
Когато го стартирам в psql , получавам следния резултат:
t
Часово клеймо
Ето го с клеймо за време стойност.
SELECT isfinite(timestamp '2020-10-23 12:30:45');
Резултат:
True
Интервал
Ето го с винтервала стойност.
SELECT isfinite(interval '2 hours 30 minutes');
Резултат:
True
Безкрайност
Всички предишни примери връщат true. Ето един, който връща false. В този случай използвам infinity
константа.
SELECT isfinite('infinity'::timestamp);
Резултат:
False
Отрицателна безкрайност
Същият резултат при използване на отрицателна безкрайност.
SELECT isfinite('-infinity'::timestamp);
Резултат:
False