PostgreSQL で || 演算子または concat() 関数を使用して 2 つの列を 1 つの列に連結 (結合) します。

  • concat() 関数と || 演算子を使用して PostgreSQL で 2 つの文字列を連結する
  • PostgreSQLで文字と数値/整数列を連結する

使用||PostgreSQL で 2 つの列を連結する演算子

  • の||PostgreSQLの演算子は文字列の連結に使用されます。これを使用して、2つの列を連結することができます。選択声明。

Employeetbl テーブルを使用します。

PostgreSQLで2つの列を連結する 1

上記の表ではファーストネームおよび last_name があり、これら 2 つの列を連結して新しい列 full_name を作成します。これは、単純な || 演算子で実現できます。

SELECT *, first_name || ' ' || last_name AS full_name FROM employeetbl;

出力:

PostgreSQLで2つの列を連結する 2

CONCAT() 関数を使用して PostgreSQL で 2 つの列を連結する

例1:

の連結()PostgreSQLの関数は文字列の連結にも使用されます。これを使用して、2つの列を連結することができます。選択声明。連結()複数の引数を受け取り、それらを 1 つの文字列に連結する関数です。

SELECT *, concat(first_name, ' ', last_name) AS full_name FROM employeetbl;

concat(first_name, ' ', last_name)first_name、スペース ‘ ‘、last_name の同じ連結を実現します

出力:

PostgreSQLで2つの列を連結する 3

例2:

CONCAT() 関数は first_name と last_name の間にハイフンを入れて連結します。

SELECT *, concat(first_name, '-', last_name) AS full_name FROM employeetbl;

concat(first_name, '-', last_name)first_name、ハイフン(-)、last_nameの同じ連結を実現します

出力:

PostgreSQLで2つの列を連結する 4

|| 演算子を使用して、PostgreSQL で文字と数値/整数の列を連結します。

PostgreSQLで文字列と数値列を連結するには、まず数値列を文字列に型変換し、次に||演算子を使用して連結する必要があります。

SELECT *, first_name || ' ' || last_name||' '||eno::text AS full_name_eid FROM employeetbl;

「eno」列は整数列なので、上記のように連結する前に文字列列に型変換します。

出力:

PostgreSQLで2つの列を連結する 5

CONCAT() を使用して PostgreSQL で文字と数値/整数の列を連結します。

PostgreSQLで文字列と数値列を連結するには、まず数値列を文字列に型変換し、次にconcat()関数を使用して連結する必要があります。

SELECT *, concat(first_name, ' ', last_name,' ',eno::text) AS full_name_eid FROM employeetbl;

「eno」列は整数列なので、上記のように連結する前に文字列列に型変換します。

出力:

PostgreSQLで2つの列を連結する 6

結論注:

  • 連結する列のデータ型が文字列連結と互換性があることを確認します(|| 演算子または concat() 関数)。
  •  いずれかの列が NULL になる可能性がある場合は、COALESCE() または CONCAT_WS() (NULL をより適切に処理します) を使用してそのシナリオを処理する必要がある場合があります。