【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

コメント

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