Love澤's Room

技術系ネタをまとめていたブログ。現在はカテゴリにこだわらず更新しています。

【ORACLE】文字列を空白埋め/ゼロ埋めする方法

こんにちは。
たまーに使うけど、忘れちゃってることがままあるので、メモ。

目次

やりたいこと

Oracleで、ある文字列を任意の文字数にしたい。

  • 文字「HOGE」を長さ10の文字にしたい → 「HOGE______」(空白の代わりにアンダースコアを表示しています)
  • 数字「1」をゼロ埋めした文字にしたい → 「0001」

構文

こういう時には、RPADやLPADを使います。

RPAD:文字列の右側を指定した文字で埋める場合

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

LPAD:文字列の左側を指定した文字で埋める場合

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

例文

実際のSQLはこんな感じです。

SELECT RPAD('HOGE', 10, ' ')    -- 結果:'HOGE      '
     , LPAD(1, 4, '0')          -- 結果:'0001'
  FROM DUAL