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

MySQLリスト文字列の値を選択しますか?


これには、FIND_IN_SET()を使用します。

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

mysql> create table demo81
   -> (
   -> id int not null auto_increment primary key,
   -> username varchar(200)
   -> );
Query OK, 0 rows affected (1.44

挿入コマンド-

を使用して、いくつかのレコードをテーブルに挿入します。

mysql> insert into demo81(username) values('John,Chris,David');
Query OK, 1 row affected (0.11

mysql> insert into demo81(username) values('Mike,Sam');
Query OK, 1 row affected (0.14

mysql> insert into demo81(username) values('Chris,Bob,Sam');
Query OK, 1 row affected (0.13

mysql> insert into demo81(username) values('Mike,John,Chris');
Query OK, 1 row affected (0.23

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

mysql> select *from demo81;

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

出力

+----+------------------+

| id | username         |

+----+------------------+

|  1 | John,Chris,David |

|  2 | Mike,Sam         |

|  3 | Chris,Bob,Sam    |

|  4 | Mike,John,Chris  |

+----+------------------+

4 rows in set (0.00 sec)

以下は、リスト文字列の値の場所を選択するためのクエリです-

mysql> select *from demo81 where find_in_set('Chris',username) > 0;

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

出力

+----+------------------+

| id | username         |

+----+------------------+

|  1 | John,Chris,David |

|  3 | Chris,Bob,Sam    |

|  4 | Mike,John,Chris  |

+----+------------------+

3 rows in set (0.03 sec)

  1. MySQLのWHEREで日付を減算して行を選択しますか?

    これには、TIMESTAMPDIFF()を使用します。テーブルを作成しましょう- mysql> create table demo42 −> ( −> start_date datetime −> ); Query OK, 0 rows affected (0.77 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo42 values('2020-01-10 12:30:05'); Query OK, 1 row affected (0

  2. MySQLでWHEREINnullを選択しますか?

    以下は構文です- select yourColumnName1, yourColumnName2, yourColumnName3, . . . N from yourTableName where yourValue in(yourColumnName1,yourColumnName2) or yourColumnName1 is NULL; テーブルを作成しましょう- mysql> create table demo60 −> ( −> id int not null auto_increment primary key, −>