PostgreSQL では、列の最後の N 文字を抽出するために、SUBSTRING() 関数 (SUBSTR() とも呼ばれます) または RIGHT() 関数を使用します。どちらの関数でも目的の結果を得ることができますが、この特定のタスクでは RIGHT() の方が簡単です。

  • RIGHT() 関数を使用して PostgreSQL の列の最後の ‘N’ 文字を返します。
  • 列の最後の’N’文字を返す substing() 関数

RIGHTの使用()関数

RIGHT() 関数は文字列から最後の N 文字を抽出します。

構文:

RIGHT(string, n)

string: 文字を抽出する元の文字列または列。

n: RIGHTから抽出する文字数。

RIGHT() 関数を使用した例:

例 1: 特定の文字列から最後の N 文字を抽出する

文字列「PostgreSQL」から最後の 4 文字を抽出するには:

SELECT RIGHT('PostgreSQL', 4) AS Last_n_chars;

出力:

PostgreSQLの列の最後の「N」文字を抽出する 1

例 2: 列から最後の N 文字を抽出する

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

PostgreSQLの列の最後の「N」文字を抽出する 2

PostgreSQL の列の最後の ‘N’ 文字を返します。

PostgreSQL の列の最後の n 文字を返すには、以下に示すように RIGHT() 関数を使用します。

select *,RIGHT(city,5) as Last_n FROM zipcodes

city列のRIGHT()関数は最後の5文字を​​抽出するので、結果のテーブルは次のようになります。

出力:

PostgreSQLの列の最後の「N」文字を抽出する 3

SUBSTRING() 関数の使用:

SUBSTRING() 関数を使用して、負の開始位置を使用することで、同じ結果を得ることもできます。

構文:

SUBSTRING(string FROM start FOR length)

string: 元の文字列または列。

start: 開始位置(最後から数える場合は負数)。

length: 抽出する文字数。

SUBSTRING() 関数の使用例

例 1: 特定の文字列から最後の N 文字を抽出する

文字列「PostgreSQL」から最後の 4 文字を抽出するには:

SELECT SUBSTRING('PostgreSQL' FROM LENGTH('PostgreSQL') - 3 FOR 4) AS last_n_chars;

出力:

PostgreSQLの列の最後の「N」文字を抽出する 4

例 2: 列から最後の N 文字を抽出する

SUBSTRING() を使用して CITY 列から最後の 5 文字を選択するには:

select *, SUBSTRING(city FROM LENGTH(city) - 4  FOR 5) AS Last_n FROM zipcodes

substring()負の機能とともに開始位置(最後から数える場合は負数)。都市列の最後の5文字を​​抽出し、結果のテーブルは次のようになります。

出力:

PostgreSQLの列の最後の「N」文字を抽出する 5