LPAD

LPAD関数は、左側がn文字の長さまでExpression2の連続文字で埋め込まれたExpression1を戻します。この関数は、問合せの出力を書式設定する場合に役立ちます。

SQL構文

LPAD (Expression1, n [,Expression2])

パラメータ

LPADには、次のパラメータがあります。

パラメータ 説明

Expression1

左側を文字で埋め込むCHARVARCHAR2NCHARNVARCHAR2CLOBNCLOBオペランドまたは列。Expression1nより長い場合、LPADnに収まるExpression1の一部分を戻します。

n

LPAD関数で戻される文字の長さ。NUMBER型の整数、またはNUMBER型の整数に暗黙的に変換可能な値である必要があります。

Expression2

Expression1の左側に埋め込む連続文字。Expression2を指定しない場合、デフォルトで単一の空白文字に設定されます。オペランドまたは列には、CHARVARCHAR2NCHARNVARCHAR2CLOBまたはNCLOB型を指定できます。

説明

  • Expression1CHAR型またはVARCHAR2型の場合、戻されるデータ型はVARCHAR2です。Expression1NCHAR型またはNVARCHAR2型の場合、戻されるデータ型はNVARCHAR2です。Expression1がLOBの場合、戻されるデータ型は指定されたLOBデータ型と同じになります。

  • nが定数の場合、戻されるデータ型の長さはnと等しくなります。それ以外の場合、結果の最大長である8300が戻されます。

  • Expression1Expression2には、TT_CHARTT_VARCHARTT_NCHARおよびTT_NVARCHARを指定できます。Expression1TT_CHAR型またはTT_VARCHAR型の場合、戻されるデータ型はTT_VARCHARです。Expression1TT_NCHAR型またはTT_NVARCHAR型の場合、戻されるデータ型はTT_NVARCHARです。

  • CHARVARCHAR2NCHARNVARCHAR2CLOBまたはNCLOBデータ型の場合:

    • Expression1Expression2のどちらかがNULLの場合、結果はNULLになります。n0 (ゼロ)以下の場合も、結果はNULLです。

  • TT_CHARTT_VARCHARTT_NCHARおよびTT_NVARCHAR型の場合:

    • Expression1Expression2のどちらかがNULLではなく、nが0 (ゼロ)以下の場合、結果は空の文字列になります。

次の例では、20文字になるように左側をピリオドで埋め込んだ、最初の5人の従業員の名前を出力します。

Command> SELECT FIRST 5 LPAD (last_name, 20, '.') 
         FROM employees
         ORDER BY last_name;
< ................Abel >
< ................Ande >
< ............Atkinson >
< ..............Austin >
< ................Baer >
5 rows found.

LPAD関数を使用して、文字列'LPAD Function'の左側を文字列'DEMO-ONLY'と2個の空白で埋め込みます。文字列DEMO-ONLYは、関数によって文字出力合計で定義された回数(3回)繰り返されます。

Command> SELECT LPAD ('LPAD Function', 46, 'DEMO-ONLY  ') FROM dual;
< DEMO-ONLY  DEMO-ONLY  DEMO-ONLY  LPAD Function >
1 row found.

長さ-1を使用してLPAD関数をコールします。NULLが戻されます。

Command> SELECT LPAD ('abc', -1, 'a')  FROM dual;
< <NULL> >
1 row found.