文字列でうめるRPAD・LPAD(ゼロ埋め)
Oracleでは、指定した文字列でうめたりゼロ埋めするには「RPAD」「LPAD」を使います。
LPAD(文字列,桁数,うめる文字列)
- 文字列の左側を指定桁数うめます
RPAD(文字列,桁数,うめる文字列)
- 文字列の右側を指定桁数うめます
例1. LPADで文字列をゼロ埋めするパターン
--文字列'A123'の左をゼロ埋めする SELECT LPAD('A123',6,'0') FROM DUAL; [結果] '00A123'
ここでは6桁になるまで文字列の左側をゼロ埋めしました。その結果、「A123」を「00A123」にすることができました。
例2. RPADで文字列をゼロ埋めするパターン
--文字列'A123'の右をゼロ埋めする SELECT RPAD('A123',6,'0') FROM DUAL; [結果] 'A12300'
ここでは6桁になるまで文字列の右側をゼロ埋めしました。その結果、「A123」を「A12300」にすることができました。
例3. LPADで文字列を空白で埋めるパターン
--文字列'A123'を空白でうめる SELECT LPAD('A123',6) FROM DUAL; [結果] ' A123'
第3パラメータを指定しないと空白でうめることができます。ここでは「A123」を「 A123」(前2桁は空白)にすることができました。
RPAD・LPADで文字列をゼロ埋めしたり、空白で埋めることができました。
以上、Oracleで文字列でうめるRPAD・LPAD(ゼロ埋め)でした。
コメント
>LPAD(文字列,桁数,うめる文字列)
> 文字列の左側を指定桁数うめます
>RPAD(文字列,桁数,うめる文字列)
> 文字列の左側を指定桁数うめます
どちらも左になっているようです。
RPADの記述を左→右へ修正しました。
ご指摘ありがとうございました!