substring, substr
指定された位置から文字を抽出し、指定された長さの部分文字列を返します。
Syntax
VARCHAR substr(VARCHAR str, pos[, len])
Parameters
str
: 必須、文字を抽出する文字列。VARCHAR 値である必要があります。pos
: 必須、開始位置を指定する整数。文字列内の最初の文字は 1 であり、0 ではありません。pos
が 0 の場合、空の文字列が返されます。pos
は負の整数であることもできます。この場合、文字列の末尾から文字を抽出します。例 2 を参照してください。pos
で指定された位置が文字列の範囲を超える場合、空の文字列が返されます。例 3 を参照してください。
len
: 任意、抽出する文字数を指定する正の整数。len
が指定されている場合、この関数はpos
で指定された位置からlen
文字を抽出します。len
が指定されていない場合、この関数はpos
から始まるすべての文字を抽出します。例 1 を参照してください。len
が一致する文字の実際の長さを超える場合、すべての一致する文字が返されます。例 4 を参照してください。
Return value
VARCHAR 型の値を返します。
Examples
-- 最初の文字 "s" から始まるすべての文字を抽出します。
MySQL > select substring("starrockscluster", 1);
+-------------------------------------+
| substring('starrockscluster', 1) |
+-------------------------------------+
| starrocks |
+-------------------------------------+
-- 位置が負であり、文字列の末尾からカウントします。
MySQL > select substring("starrocks", -5, 5);
+-------------------------------+
| substring('starrocks', -5, 5) |
+-------------------------------+
| rocks |
+-------------------------------+
-- 位置が文字列の長さを超えており、空の文字列が返されます。
MySQL > select substring("apple", 8, 2);
+--------------------------------+
| substring('apple', 8, 2) |
+--------------------------------+
| |
+--------------------------------+
-- 一致する文字が 5 文字あります。長さ 9 は一致する文字の長さを超えており、すべての一致する文字が返されます。
MySQL > select substring("apple", 1, 9);
+--------------------------+
| substring('apple', 1, 9) |
+--------------------------+
| apple |
+--------------------------+
keyword
substring,string,sub