MySQL関数リファレンス

文字列の右側から文字列を取り出す (RIGHT)

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

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

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

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

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

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

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

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

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

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

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

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

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

スポンサードリンク
Rではじまる 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)
スポンサードリンク

Rではじまる MySQL の関数

RADIANS 度をラジアンに変換する
RAND 乱数を生成する
REPEAT 任意の文字列を任意の数だけ生成する
REVERSE 文字列を反転させる
RIGHT 文字列の右側から文字列を取り出す
ROUND 小数点以下を四捨五入する
RPAD 特定の文字を右端に追加して文字列の長さを整える
RTRIM 文字列の右側から半角スペースを削除する