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

문자열에 동일한 행에 값(하위 문자열)이 포함되어 있는지 확인하는 MySQL 쿼리는 무엇입니까?

<시간/>

같은 행의 문자열을 일치시켜야 하므로 LIKE 연산자를 사용합니다. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable
(
   FirstName varchar(100),
   FullName varchar(100)
);
Query OK, 0 rows affected (0.53 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable values('John','John Smith');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable values('David','John Miller');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Bob','Sam Miller');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('Chris','Chris Brown');
Query OK, 1 row affected (0.10 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable;

이것은 다음과 같은 출력을 생성합니다 -

+-----------+-------------+
| FirstName | FullName    |
+-----------+-------------+
| John      | John Smith  |
| David     | John Miller |
| Bob       | Sam Miller  |
| Chris     | Chris Brown |
+-----------+-------------+
4 rows in set (0.00 sec)

다음은 문자열에 같은 행에 값이 포함되어 있는지 확인하는 쿼리입니다. -

mysql> select FirstName,FullName from DemoTable
   where FullName LIKE concat('%', FirstName, '%');

이것은 다음과 같은 출력을 생성합니다 -

+-----------+-------------+
| FirstName | FullName    |
+-----------+-------------+
| John      | John Smith  |
| Chris     | Chris Brown |
+-----------+-------------+
2 rows in set (0.00 sec)