指定した桁数になるように、指定した文字で埋めるにはLPADまたはRPADを使用します。
構文
- (左側を埋める場合)
- LPAD(<文字列>, 桁数 [,<埋める文字>])
- (右側を埋める場合)
- RPAD(<文字列>, 桁数 [,<埋める文字>])
<埋める文字>を省略した場合は、半角スペースで埋められます。
サンプル
例)123を8桁になるように先頭ゼロ埋めする
1 |
SELECT LPAD(TO_CHAR(123), 8, '0') AS NO FROM dual; |
- 結果
- NO ---------------------- 00000123
TO_CHARしなくともLPAD,RPADはできますが、暗黙の型変換が発生するためTO_CHARするのがおすすめです。
例)HOGEを5桁になるように後ろを'*'で埋める
1 |
SELECT RPAD('HOGE', 5, '*') FROM dual; |
- 結果
- RPAD('HOGE', 5, '*') ---------------------- HOGE**
メモ
- 指定した桁数より文字列が長い場合は、埋め込みは行われません。
- 埋め込み結果の値は文字列型となります。