PostgreSQLを使用すると、配列データ型を簡単に操作できます。 PostgreSQLの配列を新しいデータで更新する必要がある場合があります。この記事では、PostgreSQLで配列を変更する方法、PostgreSQLで配列を変更する方法、PostgreSQLで配列をマージする方法について説明します。
PostgreSQLで配列を更新する方法
PostgreSQLで配列を更新するさまざまな方法を次に示します。次の配列列があるとします。
#create table employees (id int,name varchar,sales integer[]);
上記の例では、列 salesを作成しました。 整数の配列として。
配列列にもデータを挿入しましょう。
# insert into employees (id, name, sales)
values (1, ' John Doe', ARRAY [9,7,5,4,3,2]),
(2, ' Jim Day', ARRAY [8,6,3,2,9,2]);
# select * from employees;
id | name | sales
----+-----------+---------------
1 | John Doe | {9,7,5,4,3,2}
2 | Jim Day | {8,6,3,2,9,2}
配列内のすべての要素を置き換えます
UPDATE…SETステートメントを使用して、配列のすべての要素を簡単に置き換えることができます。
# update employees
set sales = '{10,12,31,10,11}'
where id=1;
# select * from employees;
id | name | sales
----+-----------+------------------
2 | Jim Day | {8,6,3,2,9,2}
1 | John Doe | {10,12,31,10,11} 上記のUPDATEステートメントでは、一重引用符で囲まれた中括弧内に配列値を指定しています。 Postgresは、WHERE条件に一致する行の配列全体を置き換えます。
配列内のいくつかの要素を置き換えます
以下に示すように、特定の配列要素を置き換えることもできます。
=# update employees
set sales[2] = 41
where id=1;
# select * from employees;
id | name | sales
----+-----------+------------------
2 | Jim Day | {8,6,3,2,9,2}
1 | John Doe | {10,41,31,10,11}
上記のステートメントでは、sales[2]値を設定して2番目の配列要素のみを置き換えます。
配列に追加および追加
また、 array_append を使用して、配列に値を追加および追加します。 およびarray_prepend 以下に示すように、それぞれ機能します。
# update employees
set sales = array_append(sales, 1)
where id=1;
# select * from employees;
id | name | sales
----+-----------+--------------------
2 | Jim Day | {8,6,3,2,9,2}
1 | John Doe | {10,41,31,10,11,1}
配列の先頭に追加するクエリは次のとおりです。
# update employees
set sales = array_prepend(9,sales)
where id=1;
# select * from employees;
id | name | sales
----+-----------+----------------------
2 | Jim Day | {8,6,3,2,9,2}
1 | John Doe | {9,10,41,31,10,11,1}
array_appendに注意してください 、関数の2番目の引数として追加する値を指定する必要があります。 array_prependの場合 、最初の要素として指定する必要があります。
配列要素を削除
同様に、 array_removeを使用できます 配列から要素を削除する関数。
# select array_remove(sales, 9) as reduced_array from employees where id=1;
reduced_array
--------------------
{10,41,31,10,11,1} array_remove 削除する配列要素を指定する必要があります。
PostgreSQLで配列をマージ
array_cat を使用して、PostgreSQLで2つの配列をマージできます 関数
# select array_cat(sales, '{9,3}') as merged_array
from employees where id=1;
merged_array
--------------------------
{9,10,41,31,10,11,1,9,3}
# select array_cat(array[1,2],'{9,3}') as merged_array
from employees where id=1;
merged_array
--------------
{1,2,9,3} array_cat 関数の場合、配列列を渡すか、ARRAYリテラルオブジェクトを使用できます。
PostgreSQL用のレポートツールが必要ですか? Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。