반응형
원래 특정 의미('임의의 길이를 가진 문자열')를 나타내던 문자(%)를 그 특정 의미가 아니라,
일반적인 문자처럼 사용하고 싶을 땐 이스케이핑(escaping) 을 해야한다.
어떤 문자가 그것에 부여된 특정한 의미, 기능으로 해석되는 게 아니라 그냥 단순한 문자 하나로 해석되도록 하는 것을 이스케이핑이라고 한다.
% 는 'LIKE에서 쓰이는 표현식'으로 , ‘임의의 길이를 가진 문자열’을 의미하는데
그냥 문자로 쓰고 싶다면
% 앞에 역슬래쉬(백슬래쉬, backslash) 기호를 붙여주면 된다.
백슬래쉬는 키보드상에 엔터키 위에 원화 표시(\) 되어있는 키다.
SELECT * FROM member WHERE sentence LIKE '%\%%'
#member 테이블에 sentence 칼럼에 문자 % 가 포함된 데이터 출력
' (작은따옴표) 이스케이핑
SELECT * FROM member WHERE sentence LIKE '%\'%'
#member 테이블에 sentence 칼럼에 문자 ' 가 포함된 데이터 출력
_ (언더바) 이스케이핑
SELECT * FROM member WHERE sentence LIKE '%\_%'
#member 테이블에 sentence 칼럼에 문자 _ 가 포함된 데이터 출력
" (큰따옴표) 이스케이핑
SELECT * FROM member WHERE sentence LIKE '%\"%'
#member 테이블에 sentence 칼럼에 문자 " 가 포함된 데이터 출력
'IT > SQL' 카테고리의 다른 글
[MySQL] DATE 관련 SQL 함수 모음 (CURDATE, DATEDIFF 등) (0) | 2022.01.23 |
---|---|
[MySQL] 대소문자 구분해서 검색하기 _ BINARY (0) | 2022.01.23 |
[MySQL] WHERE 절 _ 기본적인 조건 표현식 모음 (LIKE, BETWEEN, IN 등) (0) | 2022.01.23 |
[sql + 엑셀함수] 데이터 정제하기 (0) | 2019.08.23 |
[MySQL] 쿼리문 분석하기 예제 (0) | 2019.08.22 |
댓글