PostgreSQLでは、列の値を左詰めするには、LPAD()関数。この関数は、指定された長さまで、指定された文字で文字列の左側を埋め込みます。 

方法を見てみましょう

  • PostgreSQL の LPAD() 関数を使用した列の左パッド
  • PostgreSQL で列の左側にゼロを埋め込む
  • PostgreSQL テーブルの数値列の左にゼロまたは文字列を埋め込む

LPAD() の構文:

LPAD(string, length, fill)

string: パディングする元の文字列。

length: パディング後の結果の文字列の合計長さ。

fill: 文字列を埋め込む文字。

例1: 左側にゼロを埋め込む

文字列 ‘PostgreSQL’ の左側にゼロ (‘0’) を埋め込んで合計の長さを 15 にします。

SELECT LPAD('PostgreSQL', 15, '0') AS padded_string;

出力:

PostgreSQL の列の左パッド - LPAD() 1

例2: 文字列を左にパディングする

文字列 ‘PostgreSQL’ の左側に (‘#’) を追加して合計の長さを 15 にします。

SELECT LPAD('PostgreSQL', 15, '#') AS padded_string;

出力:

PostgreSQL の列の左パッド - LPAD() 2

例3: 列の左詰め

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

PostgreSQL の列の左パッド - LPAD() 3

方法 1: PostgreSQL の文字列の左パッド:

LPAD() 関数を使用した PostgreSQL の文字列の左側のパッド。

select *,LPAD(city,10,'#') FROM zipcodes

City列の左側には、文字列の合計長が10になるまで「#」が埋め込まれます。結果のテーブルは次のようになります。

出力:

PostgreSQL の列の左パッド - LPAD() 4

方法2: PostgreSQLの数値/整数列の左詰め -左にゼロを埋め込む:

PostgreSQL の LPAD() 関数を使用した数値列の左側の埋め込みは、数値 / 整数列を文字列に型変換することによって行われます。

select *,LPAD(zip::text,10,'0') as lpad_zip FROM zipcodes

Zip列の左側にゼロを埋め込んで、文字列の合計の長さが10になるようにします。結果の表は次のようになります。

出力:

PostgreSQL の列の左パッド - LPAD() 5