LIKE문으로 문자열을 가공하고자 할 경우 결과가 나오지 않을 때가 있다
글 제목이 '오늘'로 시작되는 글을 찾아보자
select title
from 테이블
where title like '오늘%'
LIKE문을 사용하지 않을 때는 오늘로 시작되는 글이 보이는데 왜 이럴까?
그럴 때는 어떤 문자가 숨어있는 건 아닌지 의심해보자
아래와 같이 ASCII함수를 사용해서 나오는 숫자를 확인해보자
select title, ASCII(title)
from 테이블
where title like '오늘%'
만일 13, 10, 9가 나왔다면 줄바꿈문자, 탭처럼 보이지 않는 문자가 숨어있어서 그렇다
이러한 문자를 제거해 줘야 한다
UPDATE 테이블명 SET title = REPLACE(title, CHAR(13), "")
UPDATE 테이블명 SET title = REPLACE(title, CHAR(10), "")
UPDATE 테이블명 SET title = REPLACE(title, CHAR(9), "")
다시 select문을 돌려보면 결과가 제대로 나올 것이다
'데이터 다루기 > DB운영(MYSQL)' 카테고리의 다른 글
패턴검색(LIKE, RLIKE, REGEXP) (0) | 2018.08.23 |
---|---|
인덱스 관리 (0) | 2018.02.14 |
컬럼 관리 (0) | 2018.02.14 |
스토리지 엔진 (0) | 2018.02.13 |
문자셋 (0) | 2018.02.13 |