MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

文字列に特定の単語が含まれているかどうかを確認するMySQLクエリの書き方

MySQLで文字列の中に特定の単語が含まれているかどうかを確認するには、LIKE演算子CONCAT()関数を組み合わせて使用します。ここでは、実際のサンプルコードとともにその方法を解説します。

1. テーブルの作成

まず、検証用のテーブルを作成しましょう。

mysql> create table DemoTable
(
    Value text
);
Query OK, 0 rows affected (0.63 sec)

2. レコードの挿入

INSERTコマンドを使って、テーブルにいくつかのレコードを追加します。

mysql> insert into DemoTable values('MySQL');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Is');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('Relational');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Database');
Query OK, 1 row affected (0.13 sec)

3. 登録済みデータの確認

SELECT文を実行して、テーブル内のすべてのレコードを表示します。

mysql> select *from DemoTable;

上記のクエリを実行すると、次のような出力が得られます。

+------------+
| Value      | 
+------------+
| MySQL      |
| Is         |
| Relational |
| Database   |
+------------+
4 rows in set (0.00 sec)

4. 単語が含まれているかを確認するクエリ

以下は、指定した文字列にカラムの値(単語)が含まれているかどうかをチェックするクエリです。

mysql> select Value from DemoTable where 'Relational' LIKE concat('%',Value,'%');

実行すると、次のような結果が出力されます。

+------------+
| Value      |
+------------+
| Relational |
+------------+
1 row in set (0.00 sec)

仕組みのポイント

注意 − 上記の例では、カラム値として単一の単語が格納されているケースを示しています。この手法は、文章全体や長い文字列の中から特定の単語だけを探したい場合にも同様に応用できます。

動作の仕組みとしては、CONCAT('%', Value, '%')によって「%Relational%」のようなワイルドカードパターンが生成され、LIKE演算子がそのパターンに一致するかどうかを判定します。これにより、対象の文字列の中に目的の単語が部分一致で含まれているかを柔軟に確認できるのです。

  1. Swiftで文字列が別の文字列を含んでいるか確認する方法

    Swiftである文字列に別の文字列が含まれているかどうかを確認するには、2つの異なる文字列が必要です。1つは検索対象となる文字列、もう1つはその中に特定の文字列が含まれているかを調べる元となる文字列です。 ここでは、確認したい文字列を「point」、全体の文字列を「TutorialsPoint」、そして別の文字列として「one two three」を使用して説明します。Playgroundでこれらの文字列を使って実際に確認してみましょう。 この確認は、以下に示す2つの方法で行うことができます。まずは3つの異なる文字列を作成します。 var completeStr1 = Tutorials po

  2. C#で文字列に特定の単語が含まれているかどうかを確認する方法

    C#で文字列の中に特定の単語が含まれているかどうかを確認したい場合は、Contains() メソッドを使用します。このメソッドは、指定した部分文字列が元の文字列内に存在する場合に true を、存在しない場合に false を返します。基本的な使い方まず、確認対象となる文字列を用意します。string s = Together we can do so much!;この文字列の中に「much」という単語が含まれているかどうかを調べるには、if文と組み合わせて次のように記述します。if (s.Contains(much) == true) { Console.WriteLine(Word