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

顧客の複数の住所のjsonbとjsonb[]

    次のような構造のjsonb(jsonb []!ではない)列を使用します。

    select
    '[{
            "adresse_line-1": "a11",
            "adresse_line-2": "a12",
            "postalcode": "code1"
        },
        {
            "adresse_line-1": "a21",
            "adresse_line-2": "a22",
            "postalcode": "code2"
        }
    ]'::jsonb;
    

    ただし、メインテーブルに関連する通常のテーブルの方が適しています。

    なぜjsonb[]ではないのですか? JSON定義を見てください:

    JSONは2つの構造に基づいて構築されています:

    • 名前と値のペアのコレクション。さまざまな言語で、これはオブジェクト、レコード、構造体、辞書、ハッシュテーブル、キー付きリスト、または連想配列として実現されます。
    • 値の順序付きリスト。ほとんどの言語では、これは配列として実現されます。 、ベクトル、リスト、またはシーケンス。

    したがって、jsonb列には、オブジェクトの配列を格納できます。 jsonbの配列を使用しようとする試みは、おそらくこのタイプのデータの誤解によるものです。私はそのような解決策の合理的な必要性を見たことがありません。




    1. 1つの表に行がない可能性がある複数の表からの選択によるOracleInsert

    2. PostgreSQL 12:外部キーとパーティションテーブル

    3. PostgreSQLで月の最後の日を取得する

    4. CASEステートメントとDECODEは同等ですか?