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;

出力:

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

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

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

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

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

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

select *,LEFT(city,5) as first_n FROM zipcodes	

都市列の左関数は最初の5文字を​​抽出し、結果の表は次のようになります。

出力:

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

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;

出力:

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

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

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

select *, SUBSTRING(city FROM 1 FOR 5) AS first_n FROM zipcodes

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

出力:

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