OracleのRPAD・LPAD 文字列でうめる(ゼロ埋め)【SQL】

文字列でうめる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(ゼロ埋め)でした。

コメント

  1. 通りすがり より:

    >LPAD(文字列,桁数,うめる文字列)
    > 文字列の左側を指定桁数うめます
    >RPAD(文字列,桁数,うめる文字列)
    > 文字列の左側を指定桁数うめます

    どちらも左になっているようです。

    • Oracleマスター より:

      RPADの記述を左→右へ修正しました。
      ご指摘ありがとうございました!

タイトルとURLをコピーしました