본문 바로가기
MySql

MySQL MySql에서 악센트 구분 검색을 수행하는 방법

by 베이스 공부 2020. 10. 18.
반응형

utf8 일반 CI 데이터 정렬을 사용하는 MySQL 테이블이 있습니다. 표에서 두 항목을 볼 수 있습니다.

abad
나쁜

다음과 같은 쿼리를 사용하고 있습니다.

SELECT *  FROM `words` WHERE `word` = 'abád'

쿼리 결과는 두 단어를 모두 제공합니다.

abad
나쁜

MySQL이 악센트 부호가있는 단어 만 찾기를 원한다는 것을 나타내는 방법이 있습니까? 쿼리가 반환되기를 원합니다.

나쁜

이 쿼리도 시도했습니다.

SELECT *  FROM `words` WHERE BINARY `word` = 'abád'

결과가 없습니다. 도와 줘서 고마워.

 

해결 방법

 

해당 필드에 대한 검색이 항상 악센트를 구분하는 경우 필드의 데이터 정렬을 utf8_bin (utf8 인코딩 된 바이트와 동일한 지 비교)으로 선언하거나 악센트가있는 것과 un을 구분하는 언어 별 데이터 정렬을 사용합니다. -강세 문자.

col_name varchar(10) collate utf8_bin

검색이 일반적으로 악센트를 구분하지 않지만이 검색에 대해 예외를 만들고 싶다면 시도해보십시오.

WHERE col_name = 'abád' collate utf8_bin

 

참조 페이지 https://stackoverflow.com/questions/500826

 

 

반응형

댓글