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

例2: 文字列を左にパディングする
文字列 ‘PostgreSQL’ の左側に (‘#’) を追加して合計の長さを 15 にします。
SELECT LPAD('PostgreSQL', 15, '#') AS padded_string;
出力:

例3: 列の左詰め
Zipcodes テーブルを使用します。

方法 1: PostgreSQL の文字列の左パッド:
LPAD() 関数を使用した PostgreSQL の文字列の左側のパッド。
select *,LPAD(city,10,'#') FROM zipcodes
City列の左側には、文字列の合計長が10になるまで「#」が埋め込まれます。結果のテーブルは次のようになります。
出力:

方法2: PostgreSQLの数値/整数列の左詰め -左にゼロを埋め込む:
PostgreSQL の LPAD() 関数を使用した数値列の左側の埋め込みは、数値 / 整数列を文字列に型変換することによって行われます。
select *,LPAD(zip::text,10,'0') as lpad_zip FROM zipcodes
Zip列の左側にゼロを埋め込んで、文字列の合計の長さが10になるようにします。結果の表は次のようになります。
出力:
