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 OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values('88,96,97'); Query OK, 1 row affected (0.30 sec) mysql> insert into DemoTable values('95,96,99,100'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values('78,45,67,98'); Query OK, 1 row affected (0.10 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select * from DemoTable;
これにより、次の出力が生成されます-
+--------------+ | ListOfValue | +--------------+ | 78,89,65 | | 88,96,97 | | 95,96,99,100 | | 78,45,67,98 | +--------------+ 4 rows in set (0.00 sec)
以下は、カンマ区切りの値を持つ列から特定のレコードを検索するためのクエリです-
mysql> select * from DemoTable -> where find_in_set('89',ListOfValue) -> or -> find_in_set('99',ListOfValue);
これにより、次の出力が生成されます-
+--------------+ | ListOfValue | +--------------+ | 78,89,65 | | 95,96,99,100 | +--------------+ 2 rows in set (0.00 sec)
-
MySQLで特定の列名を持つテーブルを見つける方法は?
列名を見つけるには、information_schema.columnsを使用します。以下は構文です- select distinct table_name from information_schema.columns where column_name like '%yourSearchValue%' and table_schema=database(); さまざまなテーブルで列名を見つけるために、上記の構文を実装しましょう。ここでは、特定の列名が「クライアント」という単語を持つテーブル名のみが必要です- mysql> select distinct table_
-
ある列から文字列を取得し、カンマ区切りの値を持つ別の列でその位置を見つけるためのMySQLクエリ?
これには、FIND_IN_SET()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable1866 ( Value1 int, ListOfValues varchar(100) ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoT