sql >> データベース >  >> RDS >> PostgreSQL

JSONbの日付:内部の実際の日付?

    JSONには「日付」タイプはありません。 JSONBタイプ( Pg9.4 に追加 )マップしますが、拡張しません JSONプリミティブ型について。 表示される値は、テキストです。

    文字列プロパティにインデックスを追加することはできますが、現在の「英語の散文」形式は範囲クエリに参加できません。 なぜなら、そのような値は日付を超えて適切に順序付けられていないからです。

    プリミティブ型の制限がある場合、秩序だった日付を格納するさまざまな方法。

    • 特定のISO8601バリエーション (同じタイムゾーンで);テキスト

    • UNIX時間 またはミリ秒単位の「JavaScript時間」。整数

    • ユリウス日'J'日付形式 を参照してください。 );数値

    (範囲が正確に一致しない場合でも、同等のインデックスプローブを使用できます。これは、一貫したデータ表現を使用する必要があります。)

    (JSONB / GIN)インデックスに範囲クエリを適用する場合、DATE値を「date」プロパティに使用される適切なJSONデータ型(整数、数値、Pgのテキストにマップ)に変換します。他の方法ではありません。

    値をフェッチするときに、選択した形式をDATEに変換します。これはに行われるため、「大丈夫」です。 JSONBは日付や時刻をネイティブにサポートしていないため、範囲クエリと「必須」。




    1. postgreSQLの奇妙な動作を最初に使用してカウンターとレールをインクリメントします

    2. MySQLを使用して、フィールド内のテキストの一部を検索して置換します

    3. MySQL Sum()複数の列

    4. Windowsコマンドスクリプトでsql*plusを使用してフローを制御するにはどうすればよいですか?