sql >> Database >  >> RDS >> PostgreSQL

JSONb-datums:actuele data intern?

JSON heeft geen "datum"-type. Het JSONB-type (toegevoegd in Pg 9.4 ) kaarten maar verlengt niet op JSON primitieve typen. De waarde die wordt gezien is wat het is, tekst.

Hoewel een index kan worden toegevoegd over tekenreekseigenschappen, kan het huidige "Engelse proza"-formaat niet deelnemen aan bereikquery's omdat dergelijke waarden niet goed geordend zijn over datums.

Verschillende manieren om goed geordende datums op te slaan, gezien de primitieve typebeperkingen.

(Gelijkheidsindexsondes kunnen worden gebruikt, zelfs als bereiken niet ... op voorwaarde dat de waarden exact overeenkomen, wat nog steeds onderhevig is aan het gebruik van een consistente gegevensrepresentatie.)

Bij het toepassen van een bereikquery over de (JSONB / GIN) index, converteer de DATE-waarden naar het juiste JSON-gegevenstype (toegewezen aan integer, numeriek, tekst in Pg) dat wordt gebruikt voor de eigenschap "date"; niet andersom.

Bij het ophalen van de waarden converteert u het gekozen formaat naar een DATE - het is 'oké' aangezien dit na wordt gedaan de bereikquery en 'vereist' omdat JSONB geen native ondersteuning biedt voor datums of tijden.




  1. Snelste manier om Excel-tabelgegevens over te zetten naar SQL 2008R2

  2. Zijn MySQL in-memory tabellen wereldwijd?

  3. sp_add_schedule vs sp_add_jobschedule in SQL Server:wat is het verschil?

  4. Hoe mysql root-wachtwoord te wijzigen