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

文字列でうめるRPAD・LPAD(ゼロ埋め)

Oracleでは、指定した文字列でうめたりゼロ埋めするには「RPAD」「LPAD」を使います。

構文

LPAD(文字列,桁数,うめる文字列)

文字列の左側を指定桁数うめます

RPAD(文字列,桁数,うめる文字列)

文字列の右側を指定桁数うめます

 

例1. LPADで文字列をゼロ埋めするパターン

--文字列'A111'の左をゼロ埋めする
SELECT LPAD('A111',6,'0') FROM DUAL;
[結果] '00A111'

ここでは6桁になるまで文字列の左側をゼロ埋めしました。その結果、「A111」を「00A111」にすることができました。

例2. RPADで文字列をゼロ埋めするパターン

--文字列'A111'の右をゼロ埋めする
SELECT RPAD('A111',6,'0') FROM DUAL;
[結果] 'A11100'

ここでは6桁になるまで文字列の右側をゼロ埋めしました。その結果、「A111」を「A11100」にすることができました。

例3. LPADで文字列を空白で埋めるパターン

--文字列'A111'を空白でうめる 
SELECT LPAD('A111',6) FROM DUAL;
[結果] '  A111'

第3パラメータを指定しないと空白でうめることができます。ここでは「A111」を「  A111」(前2桁は空白)にすることができました。

RPAD・LPADで文字列をゼロ埋めしたり、空白で埋めることができました。

以上、Oracleで文字列でうめるRPAD・LPAD(ゼロ埋め)でした。

コメント

  1. 通りすがり より:

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

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

    • Oracleマスター より:

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

  2. 通りすがり2 より:

    > 文字列の左側を指定桁数うめます

     例を見ると分かるのですが、指定桁数の意味が少しあいまいに感じました。
     「文字列の左側を指定桁数に満たない桁数分うめます」