PostgreSQL では、列の最初の N 文字を抽出するために、SUBSTRING() 関数 (SUBSTR() とも呼ばれます) または LEFT() 関数を使用します。どちらの関数でも目的の結果を得ることができますが、この特定のタスクでは LEFT() の方が簡単です。
- LEFT() 関数を使用して PostgreSQL の列の最初の ‘N’ 文字を抽出します。
- 列の最初の「N」文字を抽出します。substring() 関数
LEFT()関数の使用
LEFT() 関数は、文字列の最初の N 文字を返します。
構文:
LEFT(string, n)
string:
文字を抽出する元の文字列または列。
n:
左から抽出する文字数
LEFT() 関数を使用した例:
例 1: 特定の文字列から最初の N 文字を抽出する
文字列 ‘PostgreSQL’ から最初の 4 文字を抽出するには:
SELECT LEFT('PostgreSQL', 4) AS first_n_chars;
出力:

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

PostgreSQL の列の最初の ‘N’ 文字を返します。
PostgreSQL の列の最初の n 文字を返すには、以下に示すように LEFT() 関数を使用します。
select *,LEFT(city,5) as first_n FROM zipcodes
都市列の左関数は最初の5文字を抽出し、結果の表は次のようになります。
出力:

SUBSTRING() 関数の使用:
SUBSTRING() 関数を使用しても同じ結果を得ることができます。
構文:
SUBSTRING(string FROM start FOR length)
string:
元の文字列または列。
start:
開始位置(1 から始まるインデックス)。
length:
抽出する文字数。
SUBSTRING() 関数の使用例
例 1: 特定の文字列から最初の N 文字を抽出する
文字列 ‘PostgreSQL’ から最初の 4 文字を抽出するには:
SELECT SUBSTRING('PostgreSQL' FROM 1 FOR 4) AS first_n_chars;
出力:

例 2: 列から最初の N 文字を抽出する
SUBSTRING() を使用して CITY 列の最初の 5 文字を選択するには:
select *, SUBSTRING(city FROM 1 FOR 5) AS first_n FROM zipcodes
substring()city列の関数は最初の5文字を抽出し、結果のテーブルは次のようになります。
出力:
