はじめに
PostgreSQLでデータを照会するときは、読みやすく理解しやすい形式で結果を返したいと考えています。 文字列を結合または連結することで、クエリの結果を変換し、明確で読みやすくすることができます。 PostgreSQLCONCAT()
関数を使用すると、このタスクを簡単に実行できます。 この記事では、PostgreSQLのconcatenate関数を使用して1つ以上の文字列を1つの出力文字列に結合する方法を説明します。
前提条件
このチュートリアルでは、いくつかの重要な前提条件を設定する必要があります:
- あなたのマシンにPostgreSQLをインストールする必要があります。
- PostgreSQLコマンドラインインターフェイスにアクセスする必要があります。
- データベース管理システム、特にPostgreSQLの基本的な理解を持っている必要があります。
コマンドラインインターフェイスを開く
PostgreSQL concatenate関数を使用するクエリを実行するには、Postgresコマンドラインインターフェイスにアクセスする必要があ
プロセスを開始するには、以下のコマンドを使用して特権をスーパーユーザーの特権に昇格させます:
1
|
須藤-須藤-須藤-須藤
|
次に、psql
コマンドを使用してインターフェイスを入力します:
1
|
psql
|
PostgreSQL concatenate
PostgreSQL concatenate関数CONCAT()
を使用すると、2つ以上の文字列を1つの出力文字列に結合することができます。
PostgreSQLでデータベースを作成
私たちの例で使用するサンプルデータベースを作成することから始めましょう。 次のSQLステートメントを使用します:
1
|
データベースtest_dbの作成;
|
新しいデータベースに接続するには、\c
と入力し、その後に作成したデータベースの名前を入力します。
PostgreSQLでテーブルを作成
次のステップは、この新しいデータベースにテーブルを作成することです。 PostgreSQLでテーブルを作成するには、次の構文を使用します:
1
2 |
CREATE TABLE TABLE_NAME(column_name+データ型+
制約); |
注:制約は省略可能です。 これは、ルールを定義したり、テーブル内のデータ型を制限したりするために使用できます。
PostgreSQLテーブルにレコードを挿入
データベースに新しいテーブルを作成したので、いくつかのレコードを追加しましょう。 データを挿入するには、次の構文を使用します:
1
2 |
INSERT INTO TABLE_NAME(COLUMN_1,COLUMN_2…,)
値(VALUES_1,VALUES_2…,) |
PostgreSQLでは、カンマを使用してデータベーステーブル内の列のリストを区切ることで、複数の値をレコードに挿入できます。 これがどのように機能するかは、以下のINSERT
文で確認できます:
1
2 3 4 5 6 7 |
INSERT INTO
users(id,first_name,last_name,age,address) VALUES (1,’justine’,’bibe’,20,’america’)’), (2, ‘キミー’,’デビッド’,29,’スペイン’), (3, ‘josh’,’bieber’,25,’korea’); 挿入0 3 |
この挿入操作が成功したことを確認するために、単純なSELECT
ステートメントを実行できます:
1
2 3 4 5 6 7 |
SELECT*FROM users;
id/first_name|last_name/age|address —-+————+———–+—–+——— 1 | justine/bibe|20/アメリカ 2/kimmy|david|29/スペイン 3/josh/bieber/25/韓国 (3行) |
上記のusersテーブルは、PostgreSQLのCONCAT()
関数を示すために使用するサンプルテーブルです。
PostgreSQLの連結例
この例では、usersテーブルの_firstname列と_lastname列を使用して、2つの文字列を1つに連結する方法を示します。
この例を見てみましょう:
1
2 3 4 |
ユーザーから
CONCAT(first_name,”,last_name)を”完全な名前”として選択します。 ; |
first_name
列とlast_name
列の間にスペースを追加したことに注意してください。
結果は次のようになります:
1
2 3 4 5 6 |
完全な名前
————— justine bibe kimmy david josh bieber (3行) |
postgresql concatenate using comma separator例
二つの文字列の間の区切り文字としてコンマを使用したい場合は、この例に示す構文:
1
2 3 4 |
SELECT CONCAT_WS(‘,’,first_name,last_name)
as complete_name FROM users ORDER BY first_name; |
この場合、結果は次のようになります:
1
2 3 4 5 6 |
complete_name
————— josh,bieber justine,bibe kimmy,david (3行) |
この例で使用されているCONCAT_WS()
関数呼び出しでは、文字列を連結するときに、コンマなどの特殊な区切り文字または区切り文字を渡すことができます。 関数名の”WS”は”with separator”を表します。
PostgreSQL NULL値を連結する例
次の例は、NULL
値を連結しようとする試みを示しています:
1
2 |
SELECT CONCAT(‘object’,NULL)
as result_string; |
PostgreSQLのconcatenate関数は、単にNULL
引数を無視します。
PostgreSQL長さ関数を使用して連結
PostgreSQLのLENGTH
関数は、指定された文字列の長さを返します。 文字列の連結には、LENGTH
関数によって返される値を組み込むことができます:
1
2 3 4 |
SELECT last_name,
concat(‘あなたの名前はで構成されています’, LENGTH(last_name),’characters’) ユーザーから; |
CONCAT
関数は次の結果を返します:
1
2 3 4 5 6 |
last_name/concat
———–+————————————— bibe|あなたの名前は4文字で構成されています david|あなたの名前は5文字で構成されています bieber|あなたの名前は6文字で構成されています (3行) |
結論
複数の文字列を1つに結合することで、PostgreSQLクエリの結果を読みやすくし、データからより良い洞察を得ることができます。 この記事では、PostgreSQL concatenate関数を使用して複数の文字列を単一の出力文字列に結合する方法と、この関数の使用方法を示す例を示しました。 私たちの例に従っていれば、あなた自身のPostgreSQLクエリにCONCAT()
関数を実装する準備ができています。