2016-12-28 13 views
0
결과

사람이 explaination있다 않는 이유 : 동안MySQL의 데이터 정렬 쿼리는

SELECT * FROM MY_TABLE WHERE 1 = 1 AND libelle COLLATE latin1_general_ci LIKE '%dég%' 

반환 한 레코드 (é 만 기록)

SELECT * FROM MY_TABLE WHERE 1 = 1 AND libelle COLLATE latin1_swedish_ci LIKE '%dég%' 

반환 4 레코드 (하나 이상 포함 물론)?

MySQL doc에 따르면 latin1_general_ci는 "다국어 (서유럽 어) 대소 문자 구분 안 함"이므로 latin1_swedish_ci와 같은 악센트를 관리해서는 안됩니까?

덕분에 니콜라스

+1

서유럽에는 많은 언어가 사용됩니다. 나는 그들이 스웨덴 사람과 같은 규칙을 공유하는 것을 의심한다. –

+1

두 검색어에 대한 결과를 모두 표시하십시오. –

+0

다른 검색어에 대해 서로 다른 값을 표시하십시오. –

답변

0

나는 당신이 무엇인지 정렬 오해하고 의심한다.

대조는 단어의 사전 순서를 결정하기 위해 자연 언어 (스웨덴어, 영어, 러시아어, 일본어 ...)에서 사용되는 규칙 집합입니다. 관계형 데이터베이스에서이 값은 데이터 정렬 (예 : ORDER BY 절) 및 데이터 비교 (예 : WHERE 절 또는 고유 인덱스)에 사용됩니다. 예제 몇 : 당신이 영어로 국가의 이름으로 주문해야하는 경우

  • 이 얻을 :

    1. 캐나다
    2. 중국에게
    3. 콜롬비아


    을하지만, 전통적인 스페인어 ch에 사용 된 것은 정확한 주문이므로 다음과 같습니다 :

    1. 캐나다
    2. 콜롬비아
    3. 중국
  • 이미 angström이 있더라도 당신이 ångström 같은 로그인 이름을 가질 수 있도록 스웨덴어, å는 별도의 문자입니다. 다른 언어에서는 중복되어 허용되지 않습니다.

정렬은 그림 이모티콘 및 기타 유니 코드 문자를 표시하는 데 사용할 하지 무언가이다. 그것은 단지 (ISO-8859-1, UTF-8, UTF-16 ...)의 인코딩입니다.