MySQL関数リファレンス

文字列の左側から文字列を取り出す (LEFT)

スポンサードリンク
書式
LEFT( 文字列, 数値 )

LEFT関数を使用することで、文字列の左側から数値でした文字数だけ文字列を取り出すことができます。

例1(左側から7文字取り出す場合)
mysql> SELECT LEFT( 'MySQL関数リファレンス', 7 );
+------------------------------------+
| LEFT( 'MySQL関数リファレンス', 7 ) |
+------------------------------------+
| MySQL関数                          |
+------------------------------------+
1 row in set (0.06 sec)

対象の文字列の長さよりも大きい数値を指定した場合、文字列がすべて返されます。
その際、スペースなどによるパディングは行われません。

例2(対象の文字列の長さより大きな数値を指定した場合)
mysql> SELECT LEFT( 'MySQL関数リファレンス', 100 );
+--------------------------------------+
| LEFT( 'MySQL関数リファレンス', 100 ) |
+--------------------------------------+
| MySQL関数リファレンス                |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> -- スペースなどのパディングは行われていない
mysql> SELECT CHAR_LENGTH( LEFT( 'MySQL関数リファレンス', 100 ) );
+-----------------------------------------------------+
| CHAR_LENGTH( LEFT( 'MySQL関数リファレンス', 100 ) ) |
+-----------------------------------------------------+
|                                                  13 |
+-----------------------------------------------------+
1 row in set (0.00 sec)

文字数に0を指定した場合は長さ0の空文字が返されます。

例3(取り出す文字数を0とした場合)
mysql> SELECT LEFT( 'MySQL関数リファレンス', 0 );
+------------------------------------+
| LEFT( 'MySQL関数リファレンス', 0 ) |
+------------------------------------+
|                                    |
+------------------------------------+
1 row in set (0.01 sec)

mysql> SELECT CHAR_LENGTH( LEFT( 'MySQL関数リファレンス', 0 ) );
+---------------------------------------------------+
| CHAR_LENGTH( LEFT( 'MySQL関数リファレンス', 0 ) ) |
+---------------------------------------------------+
|                                                 0 |
+---------------------------------------------------+
1 row in set (0.00 sec)

文字数に負の数値を指定した場合は0を指定した場合と同じ動作をします。

例4(取り出す文字数に負の数値を指定した場合)
mysql> SELECT LEFT( 'MySQL関数リファレンス', -10 );
+--------------------------------------+
| LEFT( 'MySQL関数リファレンス', -10 ) |
+--------------------------------------+
|                                      |
+--------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT CHAR_LENGTH( LEFT( 'MySQL関数リファレンス', -10 ) );
+-----------------------------------------------------+
| CHAR_LENGTH( LEFT( 'MySQL関数リファレンス', -10 ) ) |
+-----------------------------------------------------+
|                                                   0 |
+-----------------------------------------------------+
1 row in set (0.00 sec)

文字列の抽出を左側からではなく、右側から行う場合はRIGHT関数を使用します。
文字列の抽出を端からではなく、文字列の途中から行う場合はSUBSTRING関数またはMID関数を使用します。

スポンサードリンク
Lではじまる MySQL の関数 / 文字列を扱う関数

文字列を扱う関数

1文字目のアスキーコードを調べる (ASCII)
1文字目の文字コードを調べる (ORD)
文字コードを文字に変換する (CHAR)
文字列を結合する (CONCAT)
文字列を結合する(区切文字を間に挟む) (CONCAT_WS)
文字列のバイト数を調べる (LENGTH)
文字列の文字数を調べる (CHAR_LENGTH)
文字列のビット数を調べる (BIT_LENGTH)
特定の文字列が最初に出現する位置を調べる (LOCATE)
特定の文字列が最初に出現する位置を調べる (POSITION)
特定の文字列が最初に出現する位置を調べる (INSTR)
特定の文字を左側に追加して文字列の長さを整える (LPAD)
特定の文字を右端に追加して文字列の長さを整える (RPAD)
文字列の左側から文字列を取り出す (LEFT)
文字列の右側から文字列を取り出す (RIGHT)
文字列から位置を指定して文字列を取り出す (SUBSTRING)
文字列から位置を指定して文字列を取り出す (MID)
区切り文字列N個目までの文字列を取り出す (SUBSTRING_INDEX)
X進数をY進数へ変換する (CONV)
10進数の整数を2進数に変換する (BIN)
10進数の整数を8進数に変換する (OCT)
10進数の整数を16進数に変換する (HEX)
文字列の左側から半角スペースを削除する (LTRIM)
文字列の右側から半角スペースを削除する (RTRIM)
文字列の両側から特定の文字列を削除する (TRIM)
値をシングルクオートで囲み特殊文字をエスケープする (QUOTE)
任意の数の半角スペースを生成する (SPACE)
任意の文字列を任意の数だけ生成する (REPEAT)
文字列を反転させる (REVERSE)
アルファベット大文字を小文字に変換する (LOWER)
アルファベット大文字を小文字に変換する (LCASE)
アルファベット小文字を大文字に変換する (UPPER)
アルファベット小文字を大文字に変換する (UCASE)
スポンサードリンク

Lではじまる MySQL の関数

LCASE アルファベット大文字を小文字に変換する
LEAST 最小値を調べる
LEFT 文字列の左側から文字列を取り出す
LENGTH 文字列のバイト数を調べる
LOCATE 特定の文字列が最初に出現する位置を調べる
LOG 対数を求める
LOG10 10を底とした対数を求める
LOG2 2を底とした対数を求める
LOWER アルファベット大文字を小文字に変換する
LPAD 特定の文字を左側に追加して文字列の長さを整える
LTRIM 文字列の左側から半角スペースを削除する