に最終更新
STRLEFT
説明
STRLEFT 関数は、文字列の左端から指定した文字数の文字を返します。長さは UTF8 文字単位で数えます。
別名
LEFT
構文
STRLEFT(<str>, <len>)
引数
| 引数 | 説明 |
|---|---|
<str> | 文字を抽出する元の文字列。型: VARCHAR |
<len> | 返す文字数。型: INT |
戻り値
抽出した部分文字列を表す VARCHAR 型の値を返します。
特殊な場合:
- いずれかの引数が NULL の場合は NULL を返します
- len が 0 以下の場合は空文字列 "" を返します
- len が文字列の長さを超える場合は文字列全体を返します
例
- 左端からの基本的な抽出
SELECT STRLEFT('Hello doris', 5), LEFT('Hello doris', 5);
+---------------------------+----------------------+
| STRLEFT('Hello doris', 5) | LEFT('Hello doris', 5) |
+---------------------------+----------------------+
| Hello | Hello |
+---------------------------+----------------------+
- 異なる抽出文字数
SELECT STRLEFT('Hello World', 3), STRLEFT('Hello World', 8);
+----------------------------+----------------------------+
| STRLEFT('Hello World', 3) | STRLEFT('Hello World', 8) |
+----------------------------+----------------------------+
| Hel | Hello Wo |
+----------------------------+----------------------------+
- NULL 値の処理
SELECT STRLEFT(NULL, 5), STRLEFT('Hello doris', NULL);
+------------------+------------------------------+
| STRLEFT(NULL, 5) | STRLEFT('Hello doris', NULL) |
+------------------+------------------------------+
| NULL | NULL |
+------------------+------------------------------+
- 空文字列と長さゼロ
SELECT STRLEFT('', 5), STRLEFT('Hello World', 0);
+------------------+----------------------------+
| STRLEFT('', 5) | STRLEFT('Hello World', 0) |
+------------------+----------------------------+
| | |
+------------------+----------------------------+
- 負の長さの処理
SELECT STRLEFT('Hello doris', -5), STRLEFT('Hello doris', -1);
+-----------------------------+----------------------------+
| STRLEFT('Hello doris', -5) | STRLEFT('Hello doris', -1) |
+-----------------------------+----------------------------+
| | |
+-----------------------------+----------------------------+
- 文字列の長さを超える場合
SELECT STRLEFT('ABC', 10), STRLEFT('short', 20);
+--------------------+----------------------+
| STRLEFT('ABC', 10) | STRLEFT('short', 20) |
+--------------------+----------------------+
| ABC | short |
+--------------------+----------------------+
- UTF-8 のマルチバイト文字
SELECT STRLEFT('ṭṛì ḍḍumai hello', 3), STRLEFT('ṭṛì ḍḍumai hello', 7);
+---------------------------------+----------------------------------+
| STRLEFT('ṭṛì ḍḍumai hello', 3) | STRLEFT('ṭṛì ḍḍumai hello', 7) |
+---------------------------------+----------------------------------+
| ṭṛì | ṭṛì ḍḍu |
+---------------------------------+----------------------------------+
- 数値や ID の接頭部分
SELECT STRLEFT('ID123456789', 5), STRLEFT('USER_987654321', 5);
+----------------------------+------------------------------+
| STRLEFT('ID123456789', 5) | STRLEFT('USER_987654321', 5) |
+----------------------------+------------------------------+
| ID123 | USER_ |
+----------------------------+------------------------------+
キーワード
STRLEFT, LEFT