構造化照会言語は、ユーザーが希望する形式でデータを取得できるようにすることを目的としています。 SQLの部分文字列に関するこの記事では、文字列から文字のセットを抽出する方法を紹介します。この記事では、次のトピックについて説明します。
- SQLとは何ですか?
- SQLのSUBSTRINGとは何ですか?
- 構文:
- SUBSTRINGの例:
- リテラルでSUBSTRINGを使用する
- 条件付きのテーブルでSUBSTRINGを使用する
- ネストされたクエリでSUBSTRINGを使用する
始めましょう!
SQLとは何ですか?
SQLまたはStructuredQuery Languageは、Donald D.Chamberlinによって開発され、データベース内のデータを管理、アクセス、および取得するために使用されます。これは、4つのカテゴリ(DDL、DML、DCL、およびTCL)に分類されたさまざまなコマンドで構成されています。 SUBSTRINGは、SQLのそのようなコマンドの1つであり、指定された文字列から文字のセットを取得するために使用されます。
次に、この記事では、SQLのSUBSTRINGとは何か、およびその使用方法について詳しく説明します。
SQLのSUBSTRINGとは何ですか?
SQLのSUBSTRINGは、文字列から文字を取得するために使用される関数です。この関数を使用すると、1つの文字列から任意の数の部分文字列を取得できます。
構文:
SUBSTRING(string, starting_value, length)
ここで
- 文字列 –文字のセットを抽出する必要がある文字列を表します。
- Starting_value –これは文字列の開始位置を表します。文字列の最初の文字には値1が与えられます。
- 長さ –抽出する文字数を表します。
SQLでのSUBSTRINGの図解については、以下の画像を参照してください。
注:
- 長さパラメーターが負の場合、SUBSTRING関数はエラーをスローします。
- 文字の長さは、元の文字列の最大長を超える場合があります。このようなシナリオでは、文字列全体が上記の開始位置から抽出されます。
- この関数では、3つのフィールドすべてが必須です
- 開始位置が文字列の最大文字数より大きい場合、何も返されません。
SQLでSUBSTRINGを使用するための構文と規則を理解したので、それを使用するさまざまな方法について説明しましょう。
SUBSTRINGの例:
理解を深めるために、例を次のセクションに分けました。
-
- リテラルでSUBSTRINGを使用する
- 条件付きのテーブルでSUBSTRINGを使用する
- ネストされたクエリでSUBSTRINGを使用する
それぞれを調べてみましょう。
リテラルでSUBSTRINGを使用する
SQLでリテラルにSUBSTRINGを使用すると、指定された文字列から、ユーザーが指定した初期値から始まる長さのサブ文字列が抽出されます。
例1
文字列「Edureka」から2文字から始まり、4文字を含む部分文字列を抽出するクエリを記述します。
SELECT SUBSTRING(‘Edureka’, 2, 4);
出力
dure
例2
文字列「Edureka」の2文字から始まる8文字のサブ文字列を抽出するクエリを記述します。ここで、観察する場合は、式の最大長よりも長い長さの部分文字列を抽出する必要があります。
SELECT SUBSTRING(‘Edureka’, 2, 8);
出力
dureka
条件付きのテーブルでSUBSTRINGを使用する
以下の表を顧客という表名で検討してください。
CustID | CustName | CustEmail |
1 | Anuj | |
2 | Akash | |
3 | Mitali | |
4 | ソナリ | |
5 | Sanjay |
テーブルを作成してそのテーブルに値を挿入する方法を知りたい場合は、CREATEおよびINSERTステートメントに関する記事を参照してください。
例1
CustName“ Akash”の1文字から始まる、3文字のサブストリングを抽出するクエリを記述します。
SELECT SUBSTRING(CustName, 1, 3) FROM Customers WHERE CustName = ‘Akash’;
出力
Aka
例2
CustName「Akash」の2文字から始まる、文字列の最後まで部分文字列を抽出するクエリを記述します。
SELECT SUBSTRING(CustName, 2) FROM Customers WHERE CustName = ‘Akash’;
出力
kash
例3
CustNameの2文字から始めて、3文字の部分文字列を抽出するクエリを記述し、CustNameに従って順序付けます。
SELECT CustName FROM Customers ORDER BY SUBSTRING(CustName, 2, 3);
出力:
anj ita kas nuj ona
ネストされたクエリでSUBSTRINGを使用
SQLの部分文字列に関するこの記事のこのセクションでは、ネストされたクエリでSUBSTRING関数を使用する方法を理解しましょう。同じことを理解するために、上記で検討したCustomersテーブルについて考えてみましょう。
例:
CustomersテーブルのCustEmail列からすべてのドメインを抽出するクエリを記述します。
SELECT CustEmail, SUBSTRING( CustEmail, CHARINDEX('@', CustEmail)+1, LEN(CustEmail)-CHARINDEX('@', CustEmail) ) Domain FROM Customers ORDER BY CustEmail;
出力 :
CustEmail | ドメイン |
abc.com | |
xyz.com | |
pqr.com | |
abc.com | |
xyz.com |
ドメインは@文字の後に始まるため、CHARINDEX()関数を使用してCustEmail列の@文字を検索しました。次に、この関数の結果を使用して、抽出するサブストリングの開始位置と長さを決定します。
つまり、SQLのSUBSTRING関数を使用して、データを取得することができます。これで、SQLのSUBSTRINGに関するこの記事は終わりです。この記事がお役に立てば幸いです。
詳細を知りたい場合 MySQL そしてこのオープンソースのリレーショナルデータベースを理解してから、をチェックしてください。 MySQLDBA認定トレーニング には、インストラクター主導のライブトレーニングと実際のプロジェクトの経験が含まれています。このトレーニングは、MySQLを深く理解し、主題をマスターするのに役立ちます。
質問がありますか?この記事のコメントセクションにその旨を記載してください。折り返しご連絡いたします。