SUBSTRING関数 (文字列の指定した位置から指定した文字数分だけ取得する)

広告
eyecatch

SUBSTRING 関数を使うと引数に指定した文字列から指定した位置から指定した文字数分だけ取得します。ここでは SUBSTRING 関数の使い方について解説します。

※ 関連する関数 LEFT関数/RIGHT関数

SUBSTRING関数の使い方

SUBSTRING 関数は引数に指定した文字列の指定した位置から指定の文字数分の部分文字列を取得するために使用します。書式は次の通りです。

SUBSTRING(str,pos)
SUBSTRING(str FROM pos)
SUBSTRING(str,pos,len)
SUBSTRING(str FROM pos FOR len)

引数に指定した文字列( str )を指定した位置( pos )から文字数( len )分だけ取得します。 文字数を指定しない場合は文字列の最後まで取得します。

なお位置の指定を行うときに最初の文字の位置が 1 となります。

※ SUBSTR 関数も同じです。

-- --

それでは実際に試してみます。最初に文字数を指定しない場合です。次のように実行してください。

select substring('Hello! World', 3), substring('Mineral Water' from 4);

MySQL/SUBSTRING 関数の使い方(1)

3 文字目から文字列の最後までと、 4 文字目から文字列の最後までの部分文字列をそれぞれ取得しました。

次に文字数を合わせて指定します。

select substring('Hello! World', 3, 6), substring('Mineral Water' from 4 for 7);

MySQL/SUBSTRING 関数の使い方(2)

3 文字目から 6 文字分と、 4 文字目から 7 文字分の部分文字列をそれぞれ取得しました。

マルチバイト文字でも試してみます。

select substring('東京都千代田区', 4, 3);

MySQL/SUBSTRING 関数の使い方(3)

位置および長さの単位は文字数なので、マルチバイト文字であっても同じように取得することができます。

-- --

substring 関数の使い方について解説しました。

MySQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。