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型の場合、末尾の埋め込み文字は除去されます。 |
||||||