文字列の左に文字列を加えて桁を揃える、文字列のパディング

syntax

LPAD ( string , len [, ins] )
return [ string ]

parameter

string右に桁揃えしたい対象の文字列式
len文字列の長さ
ins挿入したい文字列式default 半角スペース

return

  • 桁揃えしたい対象の文字列に挿入したい文字列を充填した文字列を戻す。

avail

  • SQL および PL/SQL の両方で使用可能。

LPAD 関数の内容

文字列 string 中の先頭から文字列の長さ len に満ちるまで 挿入したい文字列式 ins を文字列の先頭から ins の全文字列を左に向かって(※) に付け加えて戻す。文字列 string が既に 長さ len を超過している場合には文字列は len の長さに切り捨てられる。

(※) 全角文字の泣き別れ時には文字列が左方向に伸長することで「先頭の1バイト目」にスペース(' ') が充填される。

LPAD と 引数 NULL

文字列 string に NULL または 「長さ0の文字列」 を使用すると指定した文字列長にならず、結果は常に NULL となる。

LPAD 使用例

8 桁の 16進数の文字列になるように 0-Padding を行なう

SQL> select LPAD(str, 8, '0') from lpad_sample1;
 
LPAD(STR,8,'0')
--------------------------------
000000A0
000001FE
000000FF
00000007
FFFFFFFF
00000000

全角文字列の泣き別れ処理はスペースが補填される

SQL> select str, len, ins, LPAD(str, len, ins) pad_str from lpad_sample2;
 
STR                         LEN PAD        PAD_STR
-------------------- ---------- ---------- --------------------
XXX                          10 _          _______XXX
あ                           10 い         いいいいあ
XXX                           9 _          ______XXX
あ                            9 い        □いいいあ
                                          ↑ 半角スペースが補填される。

第一引数に '' または NULL を指定すると常に結果は NULL になる

SQL> select LPAD('*', rownum, '*') step,
  2         LPAD('', rownum, '*') null_str from lpad_sample1;
 
STEP       NULL_STR
---------- ----------
*          <NULL>
**         <NULL>
***        <NULL>
****       <NULL>
*****      <NULL>
******     <NULL>

ROWNUM 擬似列



SQL 関数 - LPAD 関連

 
アルファベット別 関数一覧 ショートカット
ABCDEFG
HILMNOP
RSTUVWX
日本オラクル
■ 日本オラクル 株式会社
■ オラクルマスター資格 (オラクルマスターとは
■ Oracle のライセンスがわからない…
Oracle Direct (ネットで聞いても最後はここで要確認)