如果 MySQL 中包含特定數字,則選擇所有記錄?


為此,使用 concat() 和 LIKE。以下是語法 −

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)

使用 insert 命令向表中插入一些記錄 −

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)

更新於:19-Nov-2020

181 次瀏覽

開始你的 職業生涯

完成課程即可獲得認證

現在開始
廣告
© . All rights reserved.