JSON har ikke en "dato"-type. JSONB-typen (tilføjet i side 9.4 ) kort, men udvider ikke på JSON primitive typer. Værdien set er hvad den er, tekst.
Mens et indeks kan tilføjes over strengegenskaber, vil det nuværende "engelsk prosa"-format ikke være i stand til at deltage i områdeforespørgsler fordi sådanne værdier ikke er velordnet over datoer.
Forskellige måder at opbevare velordnede datoer på, givet de primitive typebegrænsninger.
-
Specifik ISO 8601-variation (med samme tidszone); tekst
-
UNIX-tid eller "JavaScript-tid" med millisekunder; heltal
-
Juliandagen (se 'J'-datoformatet ); numerisk
(Ligelighedsindeksprober kan bruges, selvom intervaller ikke kan .. forudsat at værdierne matcher nøjagtigt, hvilket stadig er underlagt brug af en ensartet datarepræsentation.)
Når du anvender en interval-forespørgsel over (JSONB / GIN)-indekset, skal du konvertere DATE-værdierne til den relevante JSON-datatype (tilknyttet heltal, numerisk, tekst i Pg), der bruges til "date"-egenskaben; ikke den anden vej.
Når du henter værdierne, konverter det valgte format til en DATO - det er 'okay', da dette gøres efter intervalforespørgslen og "påkrævet", da JSONB ikke naturligt understøtter datoer eller klokkeslæt.