概要:このチュートリアルでは、SQL SUBSTRING 関数を使用して文字列から部分文字列を抽出する方法を学習します。
SQL SUBSTRING関数の紹介
SUBSTRING 関数は、指定された位置から始まり、指定された長さの部分文字列を抽出します。
SUBSTRING 関数の構文を以下に示します。
SUBSTRING(source_string, position, length);Code language: SQL (Structured Query Language) (sql)SUBSTRING 関数は3つの引数を受け取ります
-
source_stringは、部分文字列を抽出する元の文字列です。 -
positionは、部分文字列の開始位置です。文字列の最初の位置は1です。 -
lengthは、部分文字列の長さです。length引数は省略可能です。
ほとんどのリレーショナルデータベースシステムは、同じ機能を持つ SUBSTRING 関数を実装しています。
SQL SUBSTRING関数の例
次の例は、位置1から始まり、長さ3の部分文字列を返します。
SELECT SUBSTRING('SQLTutorial.org',1,3);Code language: SQL (Structured Query Language) (sql)substring
-----------
SQL
(1 row)Code language: SQL (Structured Query Language) (sql)次のステートメントは、位置4から始まり、長さ8の部分文字列を返します。
SELECT SUBSTRING('SQLTutorial.org',4,8);Code language: SQL (Structured Query Language) (sql) substring
-----------
Tutorial
(1 row)
Code language: SQL (Structured Query Language) (sql)次のステートメントは、POSITION 関数を使用して、文字列内のドット文字(.)の位置を返します。
POSITION 関数の結果は、SUBSTRING 関数に渡され、ドメインの拡張子を取得します。
SELECT
SUBSTRING('SQLTutorial.org',
POSITION('.' IN 'SQLTutorial.org'));Code language: SQL (Structured Query Language) (sql)substring
-----------
.org
(1 row)Code language: SQL (Structured Query Language) (sql)サンプルデータベースの次の employees テーブルを参照してください。

次のクエリは、SUBSTRING 関数を使用して、従業員の名の最初の文字(イニシャル)を抽出し、イニシャルで従業員をグループ化します。
SELECT
SUBSTRING(first_name, 1, 1) initial,
COUNT(employee_id)
FROM
employees
GROUP BY initial;Code language: SQL (Structured Query Language) (sql)
このチュートリアルでは、SQL SUBSTRING関数を使用して文字列から部分文字列を抽出する方法を学習しました。
このチュートリアルは役に立ちましたか?