Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
文字列の部分文字列を返します。
{ SUBSTRING | SUBSTR } ( string-expression, start [, length ] )
string-expression 部分文字列が返される文字列。
start 文字単位で指定した、返される部分文字列の開始位置。
length 文字単位で指定した、返される部分文字列の長さ。length を指定すると、部分文字列は指定した長さに限定されます。
この関数の動作は、ansi_substring データベースオプションの設定によって変わります。ansi_substring オプションを On (デフォルト) に設定した場合、SUBSTRING 関数は ANSI/ISO SQL/2008 と同じ動作をします。動作を次に示します。
正の length は、部分文字列が開始位置の右側から length 文字で終わることを示します。
負の length はエラーを返します。
文字列の先頭文字の位置を 1 とします。負の開始位置は、文字列の先頭からではなく、末尾からの文字数を指定します。
start が 0 で length が負でない場合は、start 値として 1 が使用されます。start が 0 で length が負の場合は、start 値として -1 が使用されます。
負の length は、開始位置から最大 length 文字左側の文字を返します。
string-expression が binary データ型の場合、SUBSTRING 関数は BYTE_SUBSTR のように動作します。
文字列の末尾の文字を取得するには、RIGHT 関数を使用します。
この関数は NCHAR の入力または出力をサポートしています。入力文字が文字長のセマンティックを使用している場合、可能であれば、戻り値が文字長のセマンティックで記述されます。
SQL/2008 SUBSTRING は、SQL/2008 標準のコア機能です。標準の実装内容は SQL Anywhere の実装内容とはわずかに異なります。標準ではキーワード FROM と FOR を使用して SUBSTRING を 3 つのパラメータで定義しますが、SQL Anywhere ではこれらのキーワードはいずれも必要ありません。
次の表は、SUBSTRING 関数から返される値を示します。