SELECTここで行の値にはMySQLの文字列が含まれていますか?
MySQLで文字列を含む行の値を選択するには、次の構文を使用します。
SELECT *FROM yourTableName where yourColumnName like ‘%yourPattern%’;
上記の構文を理解するために、最初にテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです。
mysql> create table PatternDemo -> ( -> Id int, -> Name varchar(100), -> Age int -> ); Query OK, 0 rows affected (0.97 sec)
挿入コマンドを使用して、テーブルにレコードを挿入します。クエリは次のとおりです。
mysql> insert into PatternDemo values(1,'James',23); Query OK, 1 row affected (0.11 sec) mysql> insert into PatternDemo values(2,'Joseph',21); Query OK, 1 row affected (0.18 sec) mysql> insert into PatternDemo values(3,'Robert',20); Query OK, 1 row affected (0.11 sec) mysql> insert into PatternDemo values(4,'John',26); Query OK, 1 row affected (0.10 sec) mysql> insert into PatternDemo values(5,'Richard',24); Query OK, 1 row affected (0.17 sec)
これで、selectステートメントを使用してテーブルのすべてのレコードを表示できます。クエリは次のとおりです。
mysql> select *from PatternDemo;
以下は出力です。
+------+---------+------+ | Id | Name | Age | +------+---------+------+ | 1 | James | 23 | | 2 | Joseph | 21 | | 3 | Robert | 20 | | 4 | John | 26 | | 5 | Richard | 24 | +------+---------+------+ 5 rows in set (0.00 sec)
これは、すべての名前に「Jo」という文字を付けるクエリです。クエリは次のとおりです。
mysql> select *from PatternDemo where Name like '%Jo%';
以下は出力です。
+------+--------+------+ | Id | Name | Age | +------+--------+------+ | 2 | Joseph | 21 | | 4 | John | 26 | +------+--------+------+ 2 rows in set (0.00 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リスト文字列の値を選択しますか?
これには、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>