MySQL에서 열 값에 큰따옴표(")가 포함된 레코드를 찾으려면 LIKE 연산자를 사용하면 됩니다. 와일드카드(%)와 함께 큰따옴표를 패턴으로 지정하는 방식입니다.
기본 문법
select *from yourTableName where yourColumnName LIKE '%"%';
위 문법에서 yourTableName은 테이블 이름, yourColumnName은 검색 대상이 되는 열 이름으로 바꿔서 사용하면 됩니다.
예제 테이블 생성
먼저 실습용 테이블을 생성해 보겠습니다.
mysql> create table DemoTable740 (Value varchar(100)); Query OK, 0 rows affected (0.49 sec)
다음으로 insert 명령을 사용해 몇 개의 레코드를 삽입합니다. 이때 큰따옴표가 포함된 값도 함께 넣어 보겠습니다.
mysql> insert into DemoTable740 values("\"");
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable740 values("\"John");
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable740 values("Sam");
Query OK, 1 row affected (0.12 sec)select 문을 사용해 테이블의 모든 레코드를 확인해 보겠습니다.
mysql> select *from DemoTable740;
실행 결과는 다음과 같습니다.
+-------+ | Value | +-------+ | " | | "John | | Sam | +-------+ 3 rows in set (0.00 sec)
큰따옴표가 포함된 레코드 검색하기
이제 LIKE 연산자를 활용해 Value 열에 큰따옴표가 들어 있는 레코드만 조회하는 쿼리를 실행해 보겠습니다.
mysql> select *from DemoTable740 where Value LIKE '%"%';
실행 결과는 다음과 같습니다.
+-------+ | Value | +-------+ | " | | "John | +-------+ 2 rows in set (0.00 sec)
결과를 보면 큰따옴표가 포함된 두 개의 레코드만 정확히 반환된 것을 확인할 수 있습니다. 패턴 앞뒤에 %를 붙였기 때문에 문자열 중간이나 끝에 큰따옴표가 있더라도 정상적으로 검색됩니다.