SUBSTRING
説明
SUBSTRING関数は文字列から部分文字列を抽出するために使用されます。開始位置と長さを指定でき、前方と後方の両方の抽出をサポートしています。文字列内の最初の文字の位置は1です。
エイリアス
SUBSTR
構文
SUBSTRING(<str>, <pos> [, <len>])
パラメータ
| Parameter | デスクリプション |
|---|---|
<str> | ソース文字列。型: VARCHAR |
<pos> | 開始位置、負の値も可能。型: INT |
<len> | オプションパラメータ、抽出する長さ。型: INT |
Return Value
VARCHAR型を返し、抽出された部分文字列を表します。
特殊なケース:
- いずれかのパラメータがNULLの場合、NULLを返します
- posが0の場合、空文字列を返します
- posが負の値の場合、文字列の末尾から逆方向にカウントします
- posが文字列の長さを超える場合、空文字列を返します
- lenが指定されていない場合、posから文字列の末尾までのすべての文字を返します
Examples
- 基本的な使用法(開始位置を指定)
SELECT substring('abc1', 2);
+-----------------------------+
| substring('abc1', 2) |
+-----------------------------+
| bc1 |
+-----------------------------+
- 負の位置の使用
SELECT substring('abc1', -2);
+-----------------------------+
| substring('abc1', -2) |
+-----------------------------+
| c1 |
+-----------------------------+
- positionが0の場合
SELECT substring('abc1', 0);
+----------------------+
| substring('abc1', 0) |
+----------------------+
| |
+----------------------+
- 位置が文字列長を超えています
SELECT substring('abc1', 5);
+-----------------------------+
| substring('abc1', 5) |
+-----------------------------+
| |
+-----------------------------+
- 長さパラメータの指定
SELECT substring('abc1def', 2, 2);
+-----------------------------+
| substring('abc1def', 2, 2) |
+-----------------------------+
| bc |
+-----------------------------+