MySQL-特定の番号が含まれている場合はすべてのレコードを選択しますか?
特定の番号を持つすべてのレコードを選択するには、MySQLでFIND_IN_SET()を使用します。
テーブルを作成しましょう-
例
mysql> create table demo73 -> ( -> interest_id varchar(100), -> interest_name varchar(100) -> ); Query OK, 0 rows affected (1.48
挿入コマンド-
を使用して、いくつかのレコードをテーブルに挿入します。例
mysql> insert into demo73 values("100,101,103,105","SSC"); Query OK, 1 row affected (0.34 mysql> insert into demo73 values("105,103,1005,1003,104","Computer"); Query OK, 1 row affected (0.10 mysql> insert into demo73 values("110,105,104,111","Novel"); Query OK, 1 row affected (0.31
selectステートメントを使用してテーブルのレコードを表示する-
例
mysql> select *from demo73;
これにより、次の出力が生成されます-
出力
+-----------------------+---------------+ | interest_id | interest_name | +-----------------------+---------------+ | 100,101,103,105 | SSC | | 105,103,1005,1003,104 | Computer | | 110,105,104,111 | Novel | +-----------------------+---------------+ 3 rows in set (0.00
以下は、特定の番号が含まれている場合にすべてのレコードを選択するためのクエリです-
例
mysql> select *from demo73 where find_in_set("103",interest_id) > 0;
これにより、次の出力が生成されます-
出力
+-----------------------+---------------+ | interest_id | interest_name | +-----------------------+---------------+ | 100,101,103,105 | SSC | | 105,103,1005,1003,104 | Computer | +-----------------------+---------------+ 2 rows in set (0.00 sec)
-
特定の単語数のみのレコードをフェッチするMySQLRegExp
これには、次の構文のようにMySQLで正規表現を使用します- select * from yourTableName where yourColumnName regexp '\land[\land ]+[ ]+[\land ]+$'; 上記のクエリは、2つの単語がスペースで区切られている場合に機能します。まずテーブルを作成しましょう- mysql> create table DemoTable1412 -> ( -> Name varchar(40) -> ); Query
-
MySQLで特定の番号が含まれている場合は、すべてのレコードを選択しますか?
このためには、LIKEと一緒にconcat()を使用します。以下は構文です- select *from yourTableName where concat(',', yourColumnName, ',') like '%,yourValue,%'; テーブルを作成しましょう- mysql> create table demo49 −> ( −> id varchar(20) −> , −> first_name varchar(20) −> );