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) |
+-----------------------------+
| |
+-----------------------------+
- length パラメータの指定
SELECT substring('abc1def', 2, 2);
+-----------------------------+
| substring('abc1def', 2, 2) |
+-----------------------------+
| bc |
+-----------------------------+