strで指定された文字列のstart_positionから始まり、lengthで指定された長さを持つ部分文字列を返します。
構文
string substring(string|binary <str>, int <start_position>[, int <length>])パラメーター
str: 必須です。 STRING型またはBINARY型の値。
start_position: 必須です。 INT型の値。 開始位置は1から始まります。 start_positionが0に設定されている場合、空の文字列が返されます。 start_positionが負の値に設定されている場合、検索は文字列の末尾から先頭まで開始され、最後の文字は-1になります。
length: オプション。 BIGINT型の値。 部分文字列の長さを指定します。 このパラメーターの値は0より大きくなければなりません。
戻り値
STRING型の値が返されます。 戻り値は、次のルールによって異なります。
strの値がSTRING型またはBINARY型でない場合、または暗黙的にSTRING型またはBINARY型の値に変換できない場合、エラーが返されます。
lengthの値がBIGINT型でないか、または0以下の場合、エラーが返されます。
lengthを指定しない場合、strで指定した文字列の開始位置から終了までの部分文字列が返されます。
str、start_position、またはlengthの値がnullの場合、nullが返されます。
例
例1: 文字列
abcの指定された位置から始まり、指定された長さの部分文字列を返します。 例:-- The return value is bc. select substring('abc', 2); -- The return value is b. select substring('abc', 2, 1); -- The return value is bc. select substring('abc',-2,2); -- The return value is ab. select substring('abc',-3,2); -- The return value is 001. select substring(bin(2345), 2, 3);例2: 入力パラメーターをnullに設定します。 例:
-- The return value is null. select substring('abc', null, null);
関連関数
SUBSTRINGは文字列関数です。 文字列検索と変換に関連する関数の詳細については、文字列関数.