MySQL の LEFT()・RIGHT()

ここでは MySQL のよく使う文字列関数の LEFT() と RIGHT() 関数についてご説明します。

MySQL の LEFT() 関数の使い方

MySQL の LEFT() 関数は、文字列の左側から、指定した長さ分の文字列を返す関数です。

LEFT(文字列, 長さ)

文字列の長さより長い「長さ」を指定すると、文字列がそのまま返ります。

指定した長さが 0 以下の場合は、空文字列が返ります。

文字列と長さのどちらかが NULL の時は NULL が返ります。

LEFT() 関数はマルチバイトセーフなので、指定する文字列がマルチバイトでも問題ありません。


それでは、LEFT() 関数を使って、実際に左側から指定した文字数分の文字列を取得してみます。

SELECT  LEFT('ABCDEFG', 3),
		LEFT('ABCDEFG', 10),
        LEFT('ABCDEFG', -1),
        LEFT(NULL, 3),
        LEFT('日本総領事館', 3);

[実行結果]

MySQL の LEFT()・RIGHT() 1

1 行目の LEFT('ABCDEFG', 3) は、左から 3 文字分の 'ABC' を返しています。

2 行目の LEFT('ABCDEFG', 10) では、10 は 'ABCDEFG' の長さの 7 より長いので、'ABCDEFG' をそのまま返しています。

3 行目の LEFT('ABCDEFG', -1) では、長さがマイナスなので、空文字列を返しています。

4 行目の LEFT(NULL, 3) は、文字列が NULL なので NULL を返しています。

5 行目の LEFT('日本総領事館', 3) も、左から 3 文字分の '日本総' を返しています。


MySQL の RIGHT() 関数の使い方

MySQL の RIGHT() 関数は、文字列の右側から、指定した長さ分の文字列を返す関数です。

右から指定した長さの文字列を取得するか、左から指定した長さの文字列を取得するかが違うだけで、使い方は LEFT() 関数と同じです。

RIGHT(文字列, 長さ)

LEFT() 関数と同様に、文字列の長さより長い「長さ」を指定すると、文字列がそのまま返ります。

指定した長さが 0 以下の場合は、空文字列が返ります。

文字列と長さのどちらかが NULL の時は NULL が返ります。

RIGHT() 関数もマルチバイトセーフなので、指定する文字列がマルチバイトでも問題ありません。


先ほどと同じクエリーを、RIGHT() 関数に変えて、右側から指定した文字数分の文字列を取得してみます。

SELECT  RIGHT('ABCDEFG', 3),
		RIGHT('ABCDEFG', 10),
        RIGHT('ABCDEFG', -1),
        RIGHT(NULL, 3),
        RIGHT('日本総領事館', 3);

[実行結果]

MySQL の LEFT()・RIGHT() 2

1 行目の RIGHT('ABCDEFG', 3) は、右から 3 文字分の 'EFG' を返しています。

2 行目の RIGHT('ABCDEFG', 10) では、10 は 'ABCDEFG' の長さの 7 より長いので、'ABCDEFG' をそのまま返しています。

3 行目の RIGHT('ABCDEFG', -1) では、長さがマイナスなので、空文字列を返しています。

4 行目の RIGHT(NULL, 3) は、文字列が NULL なので NULL を返しています。

5 行目の RIGHT('日本総領事館', 3) も、右から 3 文字分の '領事館' を返しています。


以上、MySQL の LEFT() と RIGHT() 関数についてご説明しました。

© 2024 MySQL 入門