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

ARRAY列の次元を取得するにはどうすればよいですか?

    手始めに、配列の次元はPostgresのデータ型に反映されません。構文integer[][] 許容されますが、実際にはinteger[] 内部的に。
    こちらのマニュアルをお読みください。

    つまり、同じデータ型(同じテーブル列)内でディメンションが異なる可能性があります。

    特定の配列の実際の寸法を取得するには

    SELECT array_dims(my_arr);  -- [1:2][1:3]
    

    または、次元数を取得するには:

    SELECT array_ndims(my_arr);  -- 2
    

    同様のニーズに対応する配列関数は他にもあります。マニュアルの配列関数の表を参照してください。

    関連:

    列に特定のディメンションを適用する必要がある場合は、 CHECK 制約 。 2次元配列を適用するには:

    ALTER TABLE tbl ADD CONSTRAINT tbl_arr_col_must_have_2_dims
    CHECK (array_ndims(arr_col) = 2);
    


    1. Mysqlクエリ-join/unionなどを使用

    2. SQLサーバーに制約が存在するかどうかを確認するにはどうすればよいですか?

    3. MySQLiプリペアドステートメントとトランザクション

    4. TSQL:複数のデータベースにアクセスするビューを作成する