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

JSONb-datoer:faktiske datoer internt?

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.

(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.




  1. Django &Postgres - percentil (median) og grupper efter

  2. hvad betyder uautoriseret bruger i MYSQL?

  3. Forespørgs cache effektivitet

  4. neo4j ydeevne sammenlignet med mysql (hvordan kan det forbedres?)