MySQLのセミコロン付きの値のリストから特定のレコードを見つける方法は?
これには、FIND_IN_SET()を使用できます。まずテーブルを作成しましょう-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Value varchar(100) ); Query OK, 0 rows affected (2.49 sec)
挿入コマンド-
を使用して、テーブルにいくつかのレコードを挿入しますmysql> insert into DemoTable(Value) values('100;200;300'); Query OK, 1 row affected (0.42 sec) mysql> insert into DemoTable(Value) values('1;300;400'); Query OK, 1 row affected (0.58 sec) mysql> insert into DemoTable(Value) values('6;7;8;9;10'); Query OK, 1 row affected (0.29 sec) mysql> insert into DemoTable(Value) values('1;2;3;4;5'); Query OK, 1 row affected (9.36 sec) mysql> insert into DemoTable(Value) values('3;8;9;10'); Query OK, 1 row affected (0.46 sec)
selectステートメントを使用してテーブルのすべてのレコードを表示する-
mysql> select *from DemoTable;
これにより、次の出力が生成されます-
+----+-------------+ | Id | Value | +----+-------------+ | 1 | 100;200;300 | | 2 | 1;300;400 | | 3 | 6;7;8;9;10 | | 4 | 1;2;3;4;5 | | 5 | 3;8;9;10 | +----+-------------+ 5 rows in set (0.00 sec)
以下は、セミコロンが付いた値のリストから特定のレコードを検索するためのクエリです-
mysql> select *from DemoTable where find_in_set(8, replace(Value, ';', ',')) > 0;
これにより、次の出力が生成されます-
+----+------------+ | Id | Value | +----+------------+ | 3 | 6;7;8;9;10 | | 5 | 3;8;9;10 | +----+------------+ 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の文字列値(文字列、数値、特殊文字)を含む列から特定のレコードをフェッチします
このために、ORDER BY CAST()を使用できます。例を見てみましょう- mysql> create table DemoTable2006 ( UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserCode varchar(20) ); Query OK, 0 rows affected (1.14 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2006(Us