Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에 특정 번호가 포함된 경우 모든 레코드를 선택하시겠습니까?

<시간/>

이를 위해 LIKE와 함께 concat()을 사용합니다. 다음은 구문입니다 -

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)