create table table1 (id serial, items int[]);
insert into table1 (items) values ('{1, 2, 3, 4}');
insert into table1 (items) values (array[1, 2, 3, 4]);
意味 | 条件 | 結果 |
---|---|---|
配列の一番目(添字は1から) | items[1] | 1 |
配列の範囲 | items[2:3] | {2,3} |
nullを挟む | array[1,2,null,4] | {1,2,3,NULL,4} |
検索結果を配列に変換 | array(select id from table1) | {1,2,3, …} |
特定の位置で条件指定 | items[3] = 3 | true |
配列の中を走査 | 2 = any(items) | true |
配列の中を走査 | 2 = some(items) | true |
全てを評価 | 2 = all(items) | false |
2 = all(array[1]) | false | |
2 = all(array[2]) | true | |
2 = all(array[1, 2]) | false | |
2 = all(array[2, 2]) | true | |
完全一致 | items = ‘{1, 2, 3, 4}’ | true |
items = ‘{1, 2, 4, 3}’ | false | |
キャスト | items = ‘{1, 2, 3, 4}’::int[] | true |
含む | items @> ‘{2, 1, 3, 4}’ | true |
含まれる | items <@ ‘{1, 2, 3, 4, 5, 6}’ | true |
一致するものがある | items && ‘{1, 5, 6}’ | true |
items && ‘{5, 6, 7}’ | false | |
配列の追加 | items || 5 | {1, 2, 3, 4, 5} |
配列に配列を追加 | items || ‘{5, 6, 7}’ | {1, 2, 3, 4, 5, 6, 7} |
意味 | 条件 | 結果 |
---|---|---|
連結 | array_cat(array[1,2], array[3,4]) | {1, 2, 3, 4} |
末尾に追加 | array_append(array[1,2], 3) | {1, 2, 3} |
先頭に追加 | array_prepend(array[1,2], 3) | {3, 1, 2} |
多次元配列の長さを文字列化 | array_dims(array[[1,2,3], [4,5,6]]) | [1:2][1:3] |
array_dims(array[[1,2,3], [4,5,6], [7,8,9]]) | [1:3][1:3] | |
array_dims(array[[1,2,3,4], [4,5,6,7]]) | [1:2][1:4] | |
多次元配列の下限の長さ | array_lower(array[1,2,3], 1) | 1 |
array_lower(array[[1,2,3],[4,5,6]], 2) | 1 | |
array_lower(array[[1,2,3],[4,5,6]], 3) | null | |
多次元配列の上限の長さ | array_upper(array[1,2,3], 1) | 3 |
array_upper(array[[1,2,3],[4,5,6]], 2) | 3 | |
array_lower(array[[1,2,3],[4,5,6]], 3) | null | |
配列を文字列化 | array_to_string(array[1,2,3], ‘,’) | 1,2,3 |
文字列を配列化 | string_to_array(‘a,b,c’, ‘,’) | {a,b,c} |