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