우당탕탕 개발공부
[ MySQL ] 문자열 본문
문자열을 '=' 연산자로 비교하다 보면 문제가 생기는 경우가 있다.
예를 들면
id = 4의 val은 A(공백)(공백)이라고 했을 때, 'A'인 레코드(=행)를 가져오면
id가 1, 4인 레코드의 결과값을 볼 수 있다.
[ 문자열에서 비교 연산자를 사용할 경우 ]
끝의 공백은 무시된다는 문제가 있다!
BINARY 사용하기
문자열 검색을 엄밀하게 하고 싶은 경우 사용그 결과, id가 4인 레코드는 출력되지 않은 것을 확인할 수 있다.
일부분만 일치시키고 싶은 경우
LIKE 안에서 사용
연산자 | 의미 |
% | 임의의 0개 이상의 문자 |
_ | 임의의 1문자 |
특수문자의 경우 이스케이프
name에 「100%」가 들어가 있는데 LIKE 안에 '100%'로 적게 된다면?
--> '100'뒤에 임의의 문자열이 들어가는 것으로 간주된다
따라서 「%」를 검색하고 싶을 때 「\」를 앞에 붙인다!!!!
이것을 이스케이프 처리라고 한다.
이스케이프 | 의미 |
\% | 문자 % |
\_ | 문자 _ |
\\ | 문자 \ |
\' | 문자 ' |
\" | 문자 " |
이스케이프 | 의미 |
\n | 줄바꿈 |
\t | 탭 |
\b | 백스페이스 |
\r | 복귀 줄바꿈 |
특수문자는 LIKE안에 한해하지 않고 문자열을 적을 때 필요하면 사용 가능하다!
'✍ Study > MySQL' 카테고리의 다른 글
[ MySQL ] JOIN 종류와 방법 (0) | 2024.01.13 |
---|---|
[ MySQL ] CAST 데이터형 변환 (2) | 2024.01.08 |
[ MySQL ] CASE문 (1) | 2024.01.08 |
[ MySQL ] 비교 연산자 (0) | 2024.01.07 |
[ MySQL ] 주요 사용하는 데이터형 (1) | 2024.01.07 |