반응형
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
반응형
'MySql' 카테고리의 다른 글
MySQL mysql 및 hsqldb에서 호환되는 TEXT 필드 (0) | 2020.10.18 |
---|---|
MySQL JSON 데이터 유형을 허용하지 않는 MYSQL (0) | 2020.10.18 |
MySQL 선택 쿼리에서 단일 IF의 여러 조건 (0) | 2020.10.18 |
MySQL이 '빈 결과 집합을 반환했습니다'또는 '영향을받은 행 n 개'와 같은 메시지를 반환하는 이유는 무엇입니까? (0) | 2020.10.18 |
MySQL Create mysql column with Key=MUL? (0) | 2020.10.18 |
댓글