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);
コマンドは以下を返します。
開始位置を指定しなかったため、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;
コマンドは以下を返します。
入力文字列は「あなたの年齢は22歳です」です。パターンでは、文字列内の数値パターンを検索します。これが見つかった場合、部分文字列関数は、trac2文字。
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) 「実行」アイコンをクリックしてクエリを実行します。
次のような結果が返されます。
製品概要
- その PostgreSQL 部分文字列関数は、trac文字列の一部のみを返す。
- 文字列の最初の文字は位置 1 にあります。
- 表示する文字数がtrac文字列から ted が指定されていないため、関数はtrac指定された開始位置から文字列の末尾までt文字を取得します。
- 表示する文字数がtracted が指定されている場合、その文字数のみが表示されますtracテッド。



















