Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 関数 » SQL 関数 (P ~ Z)

 

SUBSTRING 関数 [文字列]

文字列の部分文字列を返します。

構文
{ 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 の場合、空の文字列を返します