PostgreSQL SUBSTRING() 関数と正規表現の例
⚡ スマートサマリー
PostgreSQL 部分文字列例tracts は、オプションの開始位置と長さを使用して文字列の一部を返します。また、テキストを POSIX 正規表現と照合して、数字やコードなどのパターンを抽出します。

何ですか PostgreSQL 部分文字列?
その PostgreSQL 部分文字列関数は、tract は文字列の一部を返します。文字列全体を返すのではなく、その一部だけを返すため、コードのトリミングや固定幅フィールドの読み取りに便利です。
構文
その PostgreSQL 部分文字列関数は次の構文を取ります。
substring( string [from starting_position] [for length] )
技術パラメータ
部分文字列関数では、以下のパラメータが使用されます。
| string | データ型が varchar、char、string などのソース文字列。 |
| 開始位置 | オプションのパラメータ。これは、ex の場所を示します。trac文字列の処理が開始されます。このパラメータを省略すると、trac開始位置は1で、これは文字列の最初の文字です。 |
| 長さ | オプションのパラメータ。表示する文字数を指定します。trac文字列から ted を取得します。このパラメーターを省略すると、関数はtrac開始位置から文字列の末尾までts。 |
例
この例では、trac単語の最初の 4 文字 Guru99:
SELECT substring('Guru99' for 4);
コマンドは以下を返します。
開始位置を指定しなかったため、trac部分文字列の抽出は位置 1 から開始されました。4 つの文字が抽出されました。trac上記の結果を返すようにしました。
次の例は、開始位置を指定する方法を示しています。
SELECT substring('Guru99' from 1 for 4);
コマンドは以下を返します。
私たちは、trac部分文字列の抽出は位置 1 から開始し、4 文字が抽出される必要があります。tracテッド。
私たちにtrac文字列からt 99 Guru99:
SELECT substring('Guru99' from 5);
コマンドは以下を返します。
開始位置を5と指定しました。tracテッドは指定されていなかったが、traction は文字列の最後まで実行されました。
次に別の例を示します。
SELECT substring('Guru99' from 5 for 2);
コマンドは以下を返します。
私たちはtrac位置5で、2文字がtracテッド。
以下の Book テーブルを考えてみましょう。
各書籍のタイトルについて大まかなイメージをつかみたい。tracテーブルの名前列から最初の15文字のみを取得します。
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
コマンドは以下を返します。
これで、すべての本の名前についておおよその見当がつきました。
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;
コマンドは以下を返します。
入力文字列は「Your age is 22」です。パターンでは、数値パターンを検索します。見つかった場合、部分文字列関数はtrac文字は2文字だけです。
pgAdminを使用して部分文字列を照合する方法
それでは、これらの操作をpgAdminを使ってどのように実行するかを見ていきましょう。データベースを必要としないクエリは、クエリエディタウィンドウから直接実行できます。以下の手順に従ってください。
ステップ1) pgAdmin アカウントにログインします。
ステップ2) pgAdminで、クエリツールアイコンをクリックします。
クエリエディタウィンドウが開きます。
ステップ3) エディタウィンドウに以下のクエリを入力してください。
SELECT substring('Guru99' for 4);
ステップ4) 「実行」アイコンをクリックしてクエリを実行します。
ステップ5) クエリの実行が完了しました。以下の結果が返されるはずです。
例2:
SELECT substring('Guru99' from 1 for 4);
次のような結果が返されます。
次の例は次のとおりです。
SELECT substring('Guru99' from 5);
次のような結果が返されます。
例3:
SELECT substring('Guru99' from 5 for 2);
次のような結果が返されます。
ここで、Demo データベースの Book テーブルを使用して例を実行してみましょう。
ステップ1) pgAdmin アカウントにログインします。
ステップ2) 左側のナビゲーションバーから「データベース」をクリックし、次に「デモ」をクリックします。
ステップ3) クエリ エディターにクエリを入力します。
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
ステップ4) 「実行」ボタンをクリックします。
次のような結果が返されます。
これで、すべての本の名前についての基本的なアイデアが得られました。
SQL 正規表現による部分文字列の照合
pgAdmin で同じことを実行するには、次の手順を実行します。
ステップ1) pgAdmin アカウントにログインします。
ステップ2) 「クエリツール」アイコンをクリックします。
クエリエディタウィンドウが開きます。
ステップ3) エディタウィンドウに以下のクエリを入力してください。
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
ステップ4) 「実行」アイコンをクリックしてクエリを実行します。
次のような結果が返されます。



















