In PostgreSQL is de isfinite()
functietests voor een eindige datum, tijdstempel of interval.
Dit kan handig zijn, omdat Postgres oneindige datums/tijdstempels ondersteunt. U kunt bijvoorbeeld een tijdstempel van oneindig of negatief oneindig hebben, en met deze functie kunt u dat testen.
Syntaxis
De functie heeft één parameter nodig, dit kan een datum . zijn , tijdstempel , of interval :
isfinite(date)
isfinite(timestamp)
isfinite(interval)
Voorbeeld
Hier is een voorbeeld van hoe het werkt met een datum waarde.
SELECT isfinite(date '2020-10-23');
Resultaat:
True
Afhankelijk van waar u het uitvoert, krijgt u mogelijk een true
of false
, of een t
of f
resultaat.
Ik kreeg het bovenstaande resultaat bij het gebruik van Azure Data Studio.
Als ik het uitvoer in psql , krijg ik het volgende resultaat:
t
Tijdstempel
Hier is het met een tijdstempel waarde.
SELECT isfinite(timestamp '2020-10-23 12:30:45');
Resultaat:
True
Interval
Hier is het met een interval waarde.
SELECT isfinite(interval '2 hours 30 minutes');
Resultaat:
True
Oneindig
Alle voorgaande voorbeelden retourneren true. Hier is er een die false retourneert. In dit geval gebruik ik de infinity
constant.
SELECT isfinite('infinity'::timestamp);
Resultaat:
False
Negatieve oneindigheid
Hetzelfde resultaat bij gebruik van negatief oneindig.
SELECT isfinite('-infinity'::timestamp);
Resultaat:
False