【PostgreSQL】前0埋め、後ろ0埋め(lpad、rpad)

PostgreSQL構文

構文

--前0埋め( lpad )
lpad( 0埋めしたい文字列 , 何文字にするか ,'0')

--後ろ0埋め( rpad )
rpad( 0埋めしたい文字列 , 何文字にするか ,'0')

--数値の場合は文字に変換した後にlpad、rpadします
lpad( cast(0埋めしたい数値 as character varying) , 何文字にするか ,'0')

最後の引数『'0'』のところを別の文字に変えると、その文字で埋めるようになります。

「何文字にするか」は0からではなく、1からカウントします。

 

 

前0埋め

--前0埋め8桁
select lpad( '12345' , 8 , '0');    --結果:"00012345"

--前0埋め10桁
select lpad( '12345' , 10 , '0');   --結果:"0000012345"

--前スペース埋め10桁
select lpad( '12345' , 10 , ' ');   --結果:"     12345"

--数値の0埋め(数値の先頭に文字を付けるとエラーになるため、文字列にcastしています)
select lpad( cast(12345 as character varying), 8 , '0');  --結果:"00012345"

 

 

 

後ろ0埋め

--後ろ0埋め8桁
select rpad( '12345' , 8 , '0');    --結果:"12345000"

--後ろ0埋め10桁
select rpad( '12345' , 10 , '0');   --結果:"1234500000"

--後ろスペース埋め10桁
select rpad( '12345' , 10 , ' ');   --結果:"12345     "

--数値の0埋め(castを使用)
select rpad( cast(12345 as character varying), 8 , '0');  --結果:"12345000"