LPAD スカラー関数
LPAD 関数は、左側に pad またはブランクが埋め込まれた string-expression で構成されるストリングを返します。 LPAD 関数は、string-expression 内の先行ブランクまたは末尾ブランクを有効として扱います。
埋め込みが発生するのは、string-expression の実際の長さが integer より小さく、pad が空ストリングでない場合のみです。
スキーマは SYSIBM です。
- 文字列式
- ソース・ストリングを指定する式。 この式は、LOB 以外の、組み込みの文字ストリング・データ・タイプの値を戻す必要があります。
- 整数
- 結果の長さを指定する整数定数。 値は 0 または n 以下の正の整数でなければなりません。ここで、 string-expression が文字またはバイナリ ストリングの場合、 n は 32704 であり、 string-expression がグラフィック ストリングの場合、 n は 16352 です。
- パッド
- 埋め込むストリングを指定する式。 この式は、LOB 以外の、組み込みの文字ストリング・データ・タイプの値を戻す必要があります。 pad を指定しない場合、pad 文字は以下のように決定されます。
- string-expression が文字ストリングであれば SBCS のブランク文字。
- string-expression がグラフィック・ストリングであれば DBCS のブランク文字。
- 16進数表記のゼロ (X'00') は、 文字列式がバイナリ文字列の場合に使用します。
この関数の結果は、string-expression の同じ CCSID を持つ可変長ストリングです。 string-expression と pad は互換性のあるデータ・タイプを持つ必要があります。 ストリング式の CCSID セットが異なる場合、pad は、その string-expression の CCSID セットに変換されます。 string-expression または pad のいずれかが FOR BIT DATA の場合、文字変換は行われません。
結果の長さ属性は、integer によって異なります。 integer が 0 より大きい場合、結果の長さ属性は integer です。 integer が 0 の場合、結果の長さ属性は 1 です。
結果の実際の長さは integer から決定されます。 integer が 0 の場合、実際の長さは 0 であり、結果は空の結果ストリングになります。 integer が string-expression の実際の長さよりも小さい場合、実際の長さは integer で、結果は切り捨てられます。
結果は NULL 値になることがあります。いずれかの引数が NULL 値である場合、結果は NULL 値になります。
SELECT LPAD(NAME,15,'.' ) AS NAME
FROM T1;結果は以下の出力のようになります。 NAME
---------------
..........Chris
............Meg
...........Jeff SELECT LPAD(NAME,5,'.' ) AS NAME
FROM T1;結果は以下の出力のようになります。 NAME
---------------
Chris
..Meg
.Jeff SELECT LPAD(NAME,5,'.' ) AS NAME
FROM T1;結果は以下の出力のようになります。 NAME
---------------
Chris
Meg
Jeff例 4: NAME が VARCHAR(15) の列で、値「Chris」、「Meg」、および「Jeff」を含んでいるものとします。 埋め込み指定の部分インスタンスが返される場合があります。
SELECT LPAD(NAME,15,'123') AS NAME
FROM T1結果は以下の出力のようになります。
NAME
---------------
1231231231Chris
123123123123Meg
12312312312Jeff