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

1つのフィールド内のコンマ区切りの値を検索するMySQLクエリ?


これにはFIND_IN_SETを使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
-> (
-> ListOfValues text
-> );
Query OK, 0 rows affected (0.56 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('10|20|30|40|50|60|100');
Query OK, 1 row affected (0.18 sec)

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

mysql> select *from DemoTable;

出力

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

+-----------------------+
| ListOfValues          |
+-----------------------+
| 10|20|30|40|50|60|100 |
+-----------------------+
1 row in set (0.00 sec)
>

以下は、1つのフィールド内のコンマ区切りの値を検索するためのクエリです-

mysql> select FIND_IN_SET(100, replace(ListOfValues,'|',',')) from DemoTable;

出力

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

+-------------------------------------------------+
| FIND_IN_SET(100, replace(ListOfValues,'|',',')) |
+-------------------------------------------------+
| 7                                               |
+-------------------------------------------------+
1 row in set (0.04 sec)

  1. 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

  2. 検索クエリのMySQLデータベースフィールドタイプ?

    以下は構文です- select *from yourTableName where REGEXP_INSTR(yourColumnName,yourSearchValue); 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table demo64 −> ( −> id int not null auto_increment primary key, −> name varchar(40) −> ); Query OK, 0 rows affected (3.06 sec)