PostgreSQL 前に指定した文字数だけ文字を埋める

PostgreSQL 前に指定した文字数だけ文字を埋める

PostgreSQLで、前に指定した文字数だけ文字を埋める手順を記述してます。

環境

  • OS Rocky Linux release 8.4 (Green Obsidian)
  • PostgreSQL 14.0
  • pgadmin 6.0

前に指定した文字数だけ文字を埋める

前に指定した文字数だけ文字を埋める場合は、「lpad」を使用します。

lpad( 文字列,文字数,埋めたい文字) 

実際に、「bc」の前に「a」を埋めてみます。

select lpad( 'bc' , 3 , 'a')

実行結果

「a」が前に埋められていることが確認できます。

文字数はオーバーすることはできません。

select lpad( 'bc' , 3 , 'abc')

実行結果

逆に少ない場合は、元の文字列が優先されます。

select lpad( 'bc' , 2 , 'a')

実行結果

埋めたい文字が文字数より小さい場合は、繰り返しが行われます。

select lpad( 'bc' , 6 , 'abc')

実行結果

0埋め

「lpad」は、0埋めする際にも使用できます。

select lpad( '7' , 3 , '0')

実行結果

後ろに埋める

後ろから埋めたい場合は、「rpad」を使用します。

rpad( 文字列,文字数,埋めたい文字) 

「ab」の後ろに「c」を埋める場合は、以下となります。

select rpad( 'ab' , 3 , 'c')

実行結果