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

MySQLで特定の番号が含まれている場合は、すべてのレコードを選択しますか?


このためには、LIKEと一緒にconcat()を使用します。以下は構文です-

select *from yourTableName where concat(',', yourColumnName, ',') like '%,yourValue,%';

テーブルを作成しましょう-

mysql> create table demo49
−> (
−> id varchar(20)
−> ,
−> first_name varchar(20)
−> );
Query OK, 0 rows affected (1.45 sec)

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。
mysql> insert into demo49 values('4,5,6',
−> 'Adam');
Query OK, 1 row affected (0.20 sec)

mysql> insert into demo49 values('5,3,2','Mike');
Query OK, 1 row affected (0.19 sec)

mysql> insert into demo49 values('3,4,9','Bob');
Query OK, 1 row affected (0.14 sec)

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

mysql> select *from demo49;

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

+-------+------------+
| id    | first_name |
+-------+------------+
| 4,5,6 | Adam       |
| 5,3,2 | Mike       |
| 3,4,9 | Bob        |
+-------+------------+
3 rows in set (0.00 sec)

以下は、特定の番号が含まれている場合にすべてのレコードを選択するためのクエリです-

mysql> select *from demo49 where concat(',', id, ',') like '%,4,%';

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

+-------+------------+
| id    | first_name |
+-------+------------+
| 4,5,6 | Adam       |
| 3,4,9 | Bob        |
+-------+------------+
2 rows in set (0.00 sec)

  1. 特定の単語数のみのレコードをフェッチするMySQLRegExp

    これには、次の構文のようにMySQLで正規表現を使用します- select * from yourTableName where yourColumnName regexp '\land[\land ]+[ ]+[\land ]+$'; 上記のクエリは、2つの単語がスペースで区切られている場合に機能します。まずテーブルを作成しましょう- mysql> create table DemoTable1412    -> (    -> Name varchar(40)    -> ); Query

  2. MySQL-特定の番号が含まれている場合はすべてのレコードを選択しますか?

    特定の番号を持つすべてのレコードを選択するには、MySQLでFIND_IN_SET()を使用します。 テーブルを作成しましょう- 例 mysql> create table demo73    -> (    -> interest_id varchar(100),    -> interest_name varchar(100)    -> ); Query OK, 0 rows affected (1.48 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。