우당탕탕 개발공부

[ MySQL ] 문자열 본문

✍ Study/MySQL

[ MySQL ] 문자열

냥냥서 2024. 1. 8. 00:54

 

문자열을 '=' 연산자로 비교하다 보면 문제가 생기는 경우가 있다.

예를 들면

 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