LEFT( 文字列, 数値 )
LEFT関数を使用することで、文字列の左側から数値でした文字数だけ文字列を取り出すことができます。
mysql> SELECT LEFT( 'MySQL関数リファレンス', 7 ); +------------------------------------+ | LEFT( 'MySQL関数リファレンス', 7 ) | +------------------------------------+ | MySQL関数 | +------------------------------------+ 1 row in set (0.06 sec)
対象の文字列の長さよりも大きい数値を指定した場合、文字列がすべて返されます。
その際、スペースなどによるパディングは行われません。
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の空文字が返されます。
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を指定した場合と同じ動作をします。
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関数を使用します。