SUBSTRING/SUBSTRはstring_expressionのn1の位置から開始して、n2文字またはバイトを抽出します。
結果の文字列で文字数またはバイト数を得るには、バイト文字列にはBYTE関数を使用し、文字列にはCHARACTER_LENGTH関数を使用します。
以下のいずれかの条件がTRUEの場合、SUBSTRING/SUBSTRは長さがゼロの文字列を戻します。
- (n1 > string_length) AND (0 ≤ n2)
- (n1 < 1) AND (0 ≤ n2) AND ((n2 + n1 - 1) ≤ 0)
n2 | 結果 | ||||||
---|---|---|---|---|---|---|---|
指定する場合 | |||||||
条件 | 結果 | ||||||
n2 < 0 | SUBSTRING/SUBSTRはエラーを返します。 | ||||||
0 ≤ n2および n1 > string_length |
SUBSTRING/SUBSTRは、ゼロの文字を含む文字列を返します。 | ||||||
0 ≤ n2および n1 < 1 |
SUBSTRING/SUBSTRは、n4 = n2 + n1 - 1に設定し、n3 = 1に設定します。 | ||||||
条件 | SUBSTRING/SUBSTRが返す値 | ||||||
n4 ≤ 0 | ゼロの文字を含む文字列。 | ||||||
n4 > string_length | ソースの文字列。 | ||||||
0 < n4 <= string_length | n3で開始し、n4文字に拡張する文字列。 | ||||||
0 < n2 AND 1 ≤ n1 ≤ string_length |
|||||||
条件 | SUBSTRING/SUBSTRが返す文字列 | ||||||
(n1 + n2 - 1) > string_length | n1で開始し、ソース文字列の最後の文字で終わる。 | ||||||
0 < (n1 + n2 - 1) ≤ string_length | n1で開始し、n2文字に拡張する。 | ||||||
指定しない場合 | |||||||
条件 | SUBSTRING/SUBSTRが返す値 | ||||||
n1 < 1 | ソースの文字列。 ソース文字列がCHAR型の場合、末尾の埋め込み文字は除去されます。 |
||||||
n1 > string_length | ゼロの文字を含む文字列。 | ||||||
1 ≤ n1 ≤ string_length | n1で始まり、ソース文字列の最後の文字で終わる文字列。 ソース文字列がCHAR型の場合、末尾の埋め込み文字は除去されます。 |
||||||