JSON nie ma typu „data”. Typ JSONB (dodany w Pg 9.4 ) mapuje, ale nie rozszerza się na typach prymitywnych JSON. Widoczna wartość jest taka, jaka jest, tekst.
Chociaż indeks można dodać do właściwości ciągu, obecny format „prozy angielskiej” nie będzie mógł uczestniczyć w zapytaniach o zakres ponieważ takie wartości nie są uporządkowane w datach.
Różne sposoby przechowywania uporządkowanych dat, biorąc pod uwagę ograniczenia typu pierwotnego.
-
Konkretna odmiana ISO 8601 (z tą samą strefą czasową); tekst
-
Czas UNIX lub „Czas JavaScript” z milisekundami; liczba całkowita
-
Dzień Juliana (zobacz format daty „J” ); numeryczne
(Sondy indeksu równości mogą być używane, nawet jeśli zakresy nie mogą .. pod warunkiem, że wartości dokładnie pasują, co nadal wymaga spójnej reprezentacji danych.)
Stosując zapytanie zakresowe dla indeksu (JSONB / GIN) przekonwertuj wartości DATE na odpowiedni typ danych JSON (odwzorowany na liczbę całkowitą, numeryczny, tekst w Pg) używany dla właściwości „date”; nie odwrotnie.
Podczas pobierania wartości przekonwertuj wybrany format na DATĘ — jest „w porządku”, ponieważ odbywa się to po zapytanie o zakres i „wymagane”, ponieważ JSONB natywnie nie obsługuje dat ani godzin.