sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan IsFinite() virker i PostgreSQL

I PostgreSQL er isfinite() funktionstest for en endelig dato, tidsstempel eller interval.

Dette kan være nyttigt, fordi Postgres understøtter uendelige datoer/tidsstempler. For eksempel kan du have et tidsstempel på uendelig eller negativ uendelighed, og denne funktion giver dig mulighed for at teste for det.

Syntaks

Funktionen tager én parameter, som enten kan være en dato , tidsstempel eller interval :

isfinite(date)
isfinite(timestamp)
isfinite(interval)

Eksempel

Her er et eksempel på, hvordan det fungerer med en dato værdi.

SELECT isfinite(date '2020-10-23');

Resultat:

True

Afhængigt af hvor du kører det, får du muligvis enten en true eller false , eller en t eller f resultat.

Jeg fik ovenstående resultat, da jeg brugte Azure Data Studio.

Når jeg kører det i psql , får jeg følgende resultat:

t

Tidsstempel

Her er den med et tidsstempel værdi.

SELECT isfinite(timestamp '2020-10-23 12:30:45');

Resultat:

True

Interval

Her er det med et interval værdi.

SELECT isfinite(interval '2 hours 30 minutes');

Resultat:

True

Uendelig

Alle de foregående eksempler returnerer sandt. Her er en, der returnerer falsk. I dette tilfælde bruger jeg infinity konstant.

SELECT isfinite('infinity'::timestamp);

Resultat:

False

Negativ uendelighed

Samme resultat ved brug af negativ uendelighed.

SELECT isfinite('-infinity'::timestamp);

Resultat:

False

  1. Dynamisk datamaskering i SQL Server for begyndere

  2. Oracle strengaggregering

  3. Mysql fejl 1452 - Kan ikke tilføje eller opdatere en underordnet række:en fremmednøgle begrænsning mislykkes

  4. Fejlfinding af MySQL-replikering:Anden del