ホームページ >データベース >mysql チュートリアル >MySQL の INSTR 関数を使用して文字列内の部分文字列の位置を見つける方法

MySQL の INSTR 関数を使用して文字列内の部分文字列の位置を見つける方法

王林
王林オリジナル
2023-07-12 15:33:331750ブラウズ

MySQL で INSTR 関数を使用して文字列内の部分文字列の位置を見つける方法

MySQL は、データを処理および操作するための豊富な関数ライブラリを提供する、一般的に使用されるリレーショナル データベース管理システムです。その中でも INSTR 関数は、元の文字列内の部分文字列の位置を見つけるために使用される非常に実用的な関数です。この記事では、MySQL で INSTR 関数を使用する方法とコード例を示します。

INSTR 関数の基本的な構文は次のとおりです。

INSTR(str,sub_str)

このうち、str は元の文字列、sub_str は変換対象の部分文字列です。見つかった。この関数は、str 内の sub_str の位置を返します。見つからない場合は 0 を返します。

以下、いくつかの例を通して INSTR 関数の使用方法を示します。

例 1: 元の文字列内の部分文字列の位置を見つける

「students」という名前のテーブルがあり、その中に学生の名前を格納する「first_name」という名前の列があるとします。 。名前に部分文字列「an」が含まれるすべての学生を検索し、名前内での位置を返したいと考えています。

SELECT first_name, INSTR(first_name, 'an') AS position
FROM students
WHERE INSTR(first_name, 'an') > 0;

上記のコードを実行すると、部分文字列「an」を含む生徒の名前と、名前内の部分文字列の位置が返されます。

例 2: 元の文字列内の部分文字列の位置範囲を検索する

元の文字列内の部分文字列の検索範囲を制限する必要がある場合があります。 MySQL の INSTR 関数は、検索を開始する場所を指定する 3 番目のパラメータを提供します。

製品の説明を格納する「description」という名前の列を持つ「products」という名前のテーブルがあるとします。説明の最初の 20 文字に検索を制限しながら、説明が「Made in」で始まるすべての製品を検索し、説明内の「Made in」の位置を返したいと考えています。

SELECT description, INSTR(description, 'Made in', 1, 20) AS position
FROM products
WHERE INSTR(description, 'Made in', 1, 20) > 0;

上記のコードを実行すると、「Made in」で始まる製品の説明と、説明内の「Made in」の位置が返されます。

例 3: 部分文字列が存在するかどうかを確認する

INSTR 関数は、元の文字列内の部分文字列の位置を返すだけでなく、部分文字列が存在するかどうかを確認するために使用することもできます。

従業員の電子メール アドレスを格納する「email」という名前の列を持つ「employees」という名前のテーブルがあるとします。 「.com」で終わる電子メール アドレスを持つすべての従業員を検索したいと考えています。

SELECT email
FROM employees
WHERE INSTR(email, '.com') > 0;

上記のコードを実行すると、サフィックスが「.com」の電子メール アドレスを持つすべての従業員が返されます。

要約すると、INSTR 関数は非常に実用的な MySQL 関数であり、元の文字列内の部分文字列の位置を見つけるために使用されます。 INSTR 関数を合理的かつ柔軟に使用することで、さまざまな複雑なデータ処理やクエリ タスクを簡単に実行できます。この記事が MySQL を使用する際の参考になれば幸いです。

以上がMySQL の INSTR 関数を使用して文字列内の部分文字列の位置を見つける方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。