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)
-
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
-
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, −>