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;
出力:

例 2: 列から最後の N 文字を抽出する
Zipcodes テーブルを使用します。

PostgreSQL の列の最後の ‘N’ 文字を返します。
PostgreSQL の列の最後の n 文字を返すには、以下に示すように RIGHT() 関数を使用します。
select *,RIGHT(city,5) as Last_n FROM zipcodes
city列のRIGHT()関数は最後の5文字を抽出するので、結果のテーブルは次のようになります。
出力:

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;
出力:

例 2: 列から最後の N 文字を抽出する
SUBSTRING() を使用して CITY 列から最後の 5 文字を選択するには:
select *, SUBSTRING(city FROM LENGTH(city) - 4 FOR 5) AS Last_n FROM zipcodes
substring()負の機能とともに開始位置(最後から数える場合は負数)。都市列の最後の5文字を抽出し、結果のテーブルは次のようになります。
出力:
