PostgreSQL SUBSTRING() 関数と正規表現の例

何ですか PostgreSQL 部分文字列?

その PostgreSQL 部分文字列関数は、tract は文字列の一部を返します。文字列全体を返すのではなく、文字列の一部のみを返します。

構文

その PostgreSQL 部分文字列関数は次の構文を取ります。

substring( string [from starting_position] [for length] )

技術パラメータ

名前 詳細説明
string データ型が varchar、char、string などのソース文字列。
開始位置 これはオプションのパラメータです。これは、ex の場所を示します。trac文字列の処理が開始されます。このパラメータを省略すると、trac処理は位置 1 から開始されます。位置 1 は文字列の最初の文字です。
長さ これはオプションのパラメータです。表示する文字数を指定します。trac文字列から ted を取得します。このパラメーターを省略すると、関数は ted を取得します。trac開始位置から文字列の末尾までt。

この例では、trac単語の最初の 4 文字 Guru99:

SELECT substring('Guru99' for 4);

コマンドは以下を返します。

PostgreSQL 部分文字列

開始位置を指定しなかったため、trac部分文字列の展開は位置 1 から始まります。4 文字がtrac上記を返すようにしました。

次の例は、開始位置を指定する方法を示しています。

SELECT substring('Guru99' from 1 for 4);

コマンドは以下を返します。

PostgreSQL 部分文字列

私たちは、trac部分文字列の抽出は位置 1 から開始し、4 文字が抽出される必要があります。tracテッド。

私たちにtrac文字列からt 99 Guru99:

SELECT substring('Guru99' from 5);

コマンドは以下を返します。

PostgreSQL 部分文字列

開始位置を5と指定しました。tracテッドは指定されていなかったが、traction は文字列の最後まで実行されました。

次に別の例を示します。

SELECT substring('Guru99' from 5 for 2);

コマンドは以下を返します。

PostgreSQL 部分文字列

私たちは開始しましたtrac位置5で、2文字がtracテッド。

以下の Book テーブルを考えてみましょう。

PostgreSQL 部分文字列

各書籍のタイトルについて大まかな見当をつけたいのですが、tracテーブルの名前列から最初の15文字のみを取得します。

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

コマンドは以下を返します。

PostgreSQL 部分文字列

これで、すべての本の名前についておおよその見当がつきました。

SQL 正規表現による部分文字列の照合

In PostgreSQL、私たちはtrac指定されたPOSIX正規表現に一致する部分文字列を取得します。この場合、部分文字列関数は次の構文で使用されます。

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

上記のパラメータの説明は次のとおりです。

文字列はソース文字列です。 データ・タイプ varchar、char、string などです。

matching_pattern は文字列内の検索に使用されるパターンです。

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

コマンドは以下を返します。

SQL 正規表現による部分文字列の照合

入力文字列は「あなたの年齢は22歳です」です。パターンでは、文字列内の数値パターンを検索します。これが見つかった場合、部分文字列関数は、trac2文字。

pgAdmin を使用して部分文字列を照合する方法

次に、pgAdmin を使用してアクションがどのように実行されるかを見てみましょう。

データベースを必要としない上記のクエリは、クエリ エディター ウィンドウから直接実行できます。次の操作を実行してください。

ステップ1) アカウントにログインします。
pgAdmin アカウントにログインします。

ステップ2) pgAdminでは、
「クエリツール」アイコンをクリックします。

pgAdmin を使用した部分文字列の一致

クエリエディタウィンドウが開きます。

ステップ3) クエリを入力します。
エディター ウィンドウに次のクエリを入力します。

SELECT substring('Guru99' for 4);

ステップ4) クエリを実行する
「実行」アイコンをクリックしてクエリを実行します。

pgAdmin を使用した部分文字列の一致

ステップ5) クエリの実行が完了しました。
次のような結果が返されます。

pgAdmin を使用した部分文字列の一致

例2:

SELECT substring('Guru99' from 1 for 4);

次のような結果が返されます。

pgAdmin を使用した部分文字列の一致

次の例は次のとおりです。

SELECT substring('Guru99' from 5);

次のような結果が返されます。

pgAdmin を使用した部分文字列の一致

例3:

SELECT substring('Guru99' from 5 for 2);

次のような結果が返されます。

pgAdmin を使用した部分文字列の一致

ここで、Demo データベースの Book テーブルを使用して例を実行してみましょう。

ステップ1) pgAdmin アカウントにログインします。

ステップ2)

  1. 左側のナビゲーション バーで、[データベース] をクリックします。
  2. 「デモ」をクリックします。

pgAdmin を使用した部分文字列の一致

ステップ3) クエリ エディターにクエリを入力します。

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

ステップ4) 「実行」ボタンをクリックします。

pgAdmin を使用した部分文字列の一致

次のような結果が返されます。

PostgreSQL 部分文字列

これで、すべての本の名前についての基本的なアイデアが得られました。

SQL 正規表現による部分文字列の照合

pgAdmin で同じことを実行するには、次の手順を実行します。

ステップ1) pgAdmin アカウントにログインします。

ステップ2) 「クエリツール」アイコンをクリックします。

SQL 正規表現による部分文字列の照合

クエリエディタウィンドウが開きます。

ステップ3) エディター ウィンドウに次のクエリを入力します。

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

ステップ4) 「実行」アイコンをクリックしてクエリを実行します。

SQL 正規表現による部分文字列の照合

次のような結果が返されます。

SQL 正規表現による部分文字列の照合

製品概要

  • その PostgreSQL 部分文字列関数は、trac文字列の一部のみを返す。
  • 文字列の最初の文字は位置 1 にあります。
  • 表示する文字数がtrac文字列から ted が指定されていないため、関数はtrac指定された開始位置から文字列の末尾までt文字を取得します。
  • 表示する文字数がtracted が指定されている場合、その文字数のみが表示されますtracテッド。

このチュートリアルで使用するデータベースをダウンロードする