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

MySQLクエリを使用して、カンマ区切りのレコードを含むMySQL列で特定の番号を検索できますか?


はい、MySQL FIND_IN_SET()を使用して特定の番号を検索できます。まずテーブルを作成しましょう-

mysql> create table DemoTable
(
   ListOfNumbers varchar(100)
);
Query OK, 0 rows affected (1.24 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('784,746,894,344');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('456,322,333,456');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('654,785,678,456');
Query OK, 1 row affected (0.47 sec)
mysql> insert into DemoTable values('123,676,847,785');
Query OK, 1 row affected (0.34 sec)

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

mysql> select *from DemoTable;

これにより、次の出力が生成されます-

+-----------------+
| ListOfNumbers   |
+-----------------+
| 784,746,894,344 |
| 456,322,333,456 |
| 654,785,678,456 |
| 123,676,847,785 |
+-----------------+
4 rows in set (0.00 sec)

以下は、レコード内の特定の番号を検索するためのクエリです-

mysql> select *from DemoTable where find_in_set('456',ListOfNumbers);

これにより、次の出力が生成されます-

+-----------------+
| ListOfNumbers   |
+-----------------+
| 456,322,333,456 |
| 654,785,678,456 |
+-----------------+
2 rows in set (0.28 sec)

  1. MySQLでカンマ区切りの値を持つ列から特定のレコードを検索する

    これには、FIND_IN_SET()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> ListOfValue varchar(20)    -> ); Query OK, 0 rows affected (0.52 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('78,89,65'); Query O

  2. MySQLでコンマ区切りの値の間の特定の文字列を検索するにはどうすればよいですか?

    これには、REGEXPを使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1902    (    Subjects text    ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1902 values('MongoDB,Java,Python'); Query OK, 1 row affected