文字列の部分文字列を返します。
{ SUBSTRING | SUBSTR } ( string-expression, start [, length ] )
string-expression 部分文字列が返される文字列。
start 文字単位で指定した、返される部分文字列の開始位置。
length 文字単位で指定した、返される部分文字列の長さ。length を指定すると、部分文字列は指定した長さに限定されます。
LONG BINARY
LONG VARCHAR
LONG NVARCHAR
この関数の動作は、ansi_substring データベース・オプションの設定によって変わります。ansi_substring オプションを On (デフォルト) に設定した場合、SUBSTRING 関数は ANSI/ISO SQL/2003 と同じ動作をします。動作を次に示します。
ansi_substring オプション設定 | start 値 | length 値 |
---|---|---|
On | 文字列の最初の文字の位置を 1 とします。負または 0 の開始オフセットは、文字列の左側が文字以外で埋められているように扱われます。 |
正の length は、部分文字列が開始位置の右側から length 文字で終わることを示します。 負の length はエラーを返します。 |
Off |
文字列の先頭文字の位置を 1 とします。負の開始位置は、文字列の先頭からではなく、末尾からの文字数を指定します。 start が 0 で length が負でない場合は、start 値として 1 が使用されます。start が 0 で length が負の場合は、start 値として -1 が使用されます。 |
正の length は、部分文字列が開始位置の右側から length 文字で終わることを示します。 負の length は、開始位置から最大 length 文字左側の文字を返します。 |
string-expression が binary データ型の場合、SUBSTRING 関数は BYTE_SUBSTR のように動作します。
文字列の末尾の文字を取得するには、RIGHT 関数を使用します。
この関数は NCHAR の入力または出力をサポートしています。入力文字が文字長のセマンティックを使用している場合、可能であれば、戻り値は文字長のセマンティックの観点から記述されます。
SQL/2003 コア機能。
次の表は、SUBSTRING 関数から返される値を示します。
例 | 結果 |
---|---|
SUBSTRING( 'front yard', 1, 4 ) | fron |
SUBSTRING( 'back yard', 6, 4 ) | yard |
SUBSTR( 'abcdefgh', 0, -2 ) | ansi_substring が On の場合、エラーを返します |
SUBSTR( 'abcdefgh', -2, 2 ) | ansi_substring が On の場合、空の文字列を返します |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |