LPAD(string-expression,length[,padstring])
引数
引数 |
説明 |
string-expression |
列の名前、文字列リテラル、ホスト変数、他のスカラ関数の結果などを表すことができる文字列式。VARCHAR データ型に変換できる任意のデータ型を指定できます。string-expression をストリームにはできません。 |
length |
返される文字列の文字数を指定する整数。 |
padstring |
オプション — 入力の string-expression のパディングに使用される、文字列または 1 文字で構成される文字列。padstring 文字 (1 つまたは複数) は、length 文字の出力文字列を作成するために必要な数だけ、string-expression の左側に付加されます。padstring には、文字列リテラル、列、ホスト変数、または別のスカラ関数の結果を指定できます。省略すると、既定で空白スペース文字になります。 |
説明
LPAD は、文字列式の先頭にパディング文字を追加します。length 文字数にパディングされた文字列のコピーを返します。文字列式が length 文字より長い場合、返される文字列は length 文字まで切り捨てられます。
string-expression が NULL の場合、LPAD は NULL を返します。string-expression が空文字列 ('') の場合、LPAD はすべてパディング文字で構成される文字列を返します。返される文字列は VARCHAR 型です。
LPAD をリンク・テーブルに対するクエリで使用できます。
LPAD は、先頭または末尾の空白を削除しません。先頭または末尾の空白も含めて文字列をパディングします。文字列をパディングする前に先頭または末尾の空白を削除するには、LTRIM、RTRIM、または TRIM を使用します。
LPAD および $JUSTIFY
引数が 2 つの形式の LPAD および引数が 2 つの形式の $JUSTIFY はどちらも、先頭にスペースを使用してパディングすることで文字列を右寄せします。引数が 2 つのこれらの形式の違いは、入力 string-expression の長さより短い出力 length の扱い方です。LPAD は、指定された出力長に合わせて入力文字列を切り捨てます。$JUSTIFY は、入力文字列に合わせて出力長さを拡大します。詳細は、以下の例を参照してください。
SELECT '>'||LPAD(12345,10)||'<' AS lpadplus,
'>'||$JUSTIFY(12345,10)||'<' AS justifyplus,
'>'||LPAD(12345,3)||'<' AS lpadminus,
'>'||$JUSTIFY(12345,3)||'<' AS justifyminus
例
以下の例では、列値を (必要に応じて) ^ 文字で左パディングして、長さが 16 文字の文字列を返します。Name 文字列に応じて、左パディングされるか右側が切り捨てられて、長さ 16 文字の文字列が返されます。
SELECT TOP 15 Name,LPAD(Name,16,'^') AS Name16
FROM Sample.Person
以下の例では、列値を (必要に応じて) ^=^ 文字列で左パディングして、長さが 20 文字の文字列を返します。名前文字列のパディングは必要なだけ繰り返されます。返される文字列には、パディングされた文字列が部分的に含まれる場合があります。
SELECT TOP 15 Name,LPAD(Name,20,'^=^') AS Name20
FROM Sample.Person
関連項目