W PostgreSQL funkcja isfinite() testy funkcjonalne dla skończonej daty, znacznika czasu lub interwału.
Może to być przydatne, ponieważ Postgres obsługuje nieskończone daty/znaczniki czasu. Na przykład możesz mieć znacznik czasu nieskończoności lub ujemnej nieskończoności, a ta funkcja pozwala to przetestować.
Składnia
Funkcja przyjmuje jeden parametr, którym może być data , sygnatura czasowa lub przedział :
isfinite(date)
isfinite(timestamp)
isfinite(interval) Przykład
Oto przykład, jak to działa z datą wartość.
SELECT isfinite(date '2020-10-23'); Wynik:
True
W zależności od tego, gdzie go uruchomisz, możesz otrzymać true lub false lub t lub f wynik.
Otrzymałem powyższy wynik podczas korzystania z usługi Azure Data Studio.
Kiedy uruchamiam go w psql , otrzymuję następujący wynik:
t
sygnatura czasowa
Tutaj jest z sygnaturą czasową wartość.
SELECT isfinite(timestamp '2020-10-23 12:30:45'); Wynik:
True
Odstęp
Tutaj jest z interwałem wartość.
SELECT isfinite(interval '2 hours 30 minutes'); Wynik:
True
Nieskończoność
Wszystkie poprzednie przykłady zwracają prawdę. Oto taki, który zwraca fałsz. W tym przypadku używam infinity stała.
SELECT isfinite('infinity'::timestamp); Wynik:
False
Ujemna nieskończoność
Ten sam wynik przy użyciu ujemnej nieskończoności.
SELECT isfinite('-infinity'::timestamp); Wynik:
False