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

MySQLのコンマ区切りリストに値が存在するかどうかを確認しますか?


値がコンマ区切りのリストに存在するかどうかを確認するには、FIND_IN_SET()関数を使用できます。

構文は次のとおりです

SELECT *FROM yourTablename WHERE FIND_IN_SET(‘yourValue’,yourColumnName) > 0;

まず、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです

mysql> create table existInCommaSeparatedList
   - > (
   - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   - > Name varchar(200)
   - > );
Query OK, 0 rows affected (0.68 sec)

これで、挿入コマンドを使用してテーブルにいくつかのレコードを挿入できます。

クエリは次のとおりです

mysql> insert into existInCommaSeparatedList(Name) values('John,Carol,Sam,Larry,Bob,David');
Query OK, 1 row affected (0.35 sec)
mysql> insert into existInCommaSeparatedList(Name) values('Maxwell,Chris,James');
Query OK, 1 row affected (0.14 sec)
mysql> insert into existInCommaSeparatedList(Name) values('Robert,Ramit');
Query OK, 1 row affected (0.34 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示します。

クエリは次のとおりです

mysql> select *from existInCommaSeparatedList;

以下は出力です

+----+--------------------------------+
| Id | Name                           |
+----+--------------------------------+
|  1 | John,Carol,Sam,Larry,Bob,David |
|  2 | Maxwell,Chris,James            |
|  3 | Robert,Ramit                   |
+----+--------------------------------+
3 rows in set (0.00 sec)

値がコンマ区切りのリストに存在するかどうかを確認するためのクエリは次のとおりです。カンマ区切りのテキスト「Robert」を含むフィールドをチェックしています

mysql> SELECT *FROM existInCommaSeparatedList WHERE FIND_IN_SET('Robert',Name) > 0;

以下は出力です

+----+--------------+
| Id | Name         |
+----+--------------+
|  3 | Robert,Ramit |
+----+--------------+
1 row in set (0.00 sec)

  1. フィールド値からコンマをカウントするMySQLクエリ?

    以下は構文です- select length(yourColumnName) - length(replace(yourColumnName, ',', '')) as anyAliasName from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable1510    -> (    -> Value varchar(50)    -> ); Query OK, 0 rows affected (6.75

  2. カンマ区切りのリストで文字列と次の文字を検索する正規表現-MySQL?

    カンマ区切りのリストで検索するには、MySQL find_in_set()を使用します。ここでは、この目的で正規表現を使用する必要はありません。構文は次のとおりです- select *from yourTableName where find_in_set(anyValue,yourColumnName); テーブルを作成しましょう- mysql> create table demo17 −> ( −> id int not null auto_increment primary key, −> first_name varchar