[sql] 콜 레이션이란 무엇입니까?
데이터 정렬은 SQL에서 무엇을 의미하며 그 의미는 무엇입니까?
답변
데이터 정렬은 단순히 정렬 순서로 생각할 수 있습니다.
영어에서 (그리고 이상한 사촌 인 American), 데이터 정렬은 ASCII 코드로 정렬 된 매우 간단한 문제 일 수 있습니다.
악센트와 다른 기능을 가진 이상한 유럽 언어를 배우면 데이터 정렬이 변경됩니다. 예를 들어, 서로 다른 악센트 형식이 a
다른 코드 포인트에 존재할 수 있지만 모두 같은 문자 인 것처럼 정렬해야 할 수도 있습니다.
답변
일부 서유럽 언어의 “악센트 문자는 악센트가없는 문자와 다르게 정렬됩니다”외에도, 때때로 다르게 정렬되는 문자 그룹도 고려해야합니다 .
전통적으로 스페인어에서 “ch”는 “ll”(둘 다 단일 음소를 나타냄)과 동일하게 자체 문자로 간주되므로 목록은 다음과 같이 정렬됩니다.
- 카발로
- 친코
- 코체
- 숯
- 초콜릿
- 추 에코
- 징두리 판벽
- (…)
- 람 파라
- 루 에고
- 란타
- 루비아
- 마데 라
단일로 시작하는주의 모든 단어 C는 로 시작하는 단어를 제외하고, 함께 이동 채널 이동 후 와 같은 그들, LL는 단일로 시작하는 모든 단어 후 이동 단어 -starting 리터를 . 이것은 오래된 사전과 백과 사전에서 볼 수있는 순서이며 때로는 오늘날 매우 보수적 인 조직에서도 볼 수 있습니다.
Royal Academy of the Language는 컴퓨팅 세계에서 스페인어를 쉽게 수용 할 수 있도록 이것을 변경했습니다. 그럼에도 불구하고, ñ 는 여전히 n 과 다른 문자로 간주되어 그 뒤를 따르고 o 앞에옵니다 . 따라서 이것은 올바르게 정렬 된 목록입니다.
- 나미비아
- 누 메로
- 얀두
- 뇨
- 오브 라
- 오조
올바른 데이터 정렬을 선택하면이 모든 작업이 자동으로 수행됩니다. 🙂
답변
문자열을 비교하고 정렬하는 방법을 알려주는 규칙 : 글자 순서; 사건이 중요한지, 분음 부호가 중요한지 등
예를 들어, 모든 문자를 다르게하려면 (예 :에 파일 이름을 저장하는 경우 UNIX
) UTF8_BIN
데이터 정렬 을 사용합니다 .
SELECT 'A' COLLATE UTF8_BIN = 'a' COLLATE UTF8_BIN
---
0
대소 문자와 분음 부호 차이 (예 : 검색 엔진)를 무시하려면 UTF8_GENERAL_CI
데이터 정렬 을 사용합니다 .
SELECT 'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI
---
1
당신이 볼 수 있듯이,이 조합 (비교 규칙) 자본 고려 A
하고 lowecase ä
같은 문자 무시 케이스와 발음 구별 차이를.
답변
데이터 정렬은 문자열 값을 정렬하고 비교하는 방법을 정의합니다
예를 들어, 처리 방법을 정의합니다
- 악센트 (
äàa
등) - 사례 (
Aa
) - 언어 문맥 :
- 프랑스어 데이터 정렬에서
cote < côte < coté < côté.
- SQL Server Latin1 기본값에서
cote < coté < côte < côté
- 프랑스어 데이터 정렬에서
- ASCII 정렬 (이진 데이터 정렬)
답변
데이터 정렬은 ASCII 또는 유니 코드 등의 알파벳 문자에 순서를 할당하는 것을 의미합니다.
알파벳에 {A, B, C} 문자가 3 개 있다고 가정합니다. 문자에 정수 값을 할당하여 예시 데이터 정렬을 정의 할 수 있습니다.
- 예 1 = {A = 1, B = 2, C = 3}
- 예 2 = {C = 1, B = 2, A = 3}
- 예 3 = {B = 1, C = 2, A = 3}
사실, n을 정의 할 수 있습니다! 크기 n의 알파벳에 대한 데이터 정렬. 그러한 순서가 주어지면 LSD / MSD 문자열 정렬과 같은 다른 정렬 루틴이 문자열 정렬에 사용합니다.
답변
데이터 정렬은 데이터 정렬 및 비교 방법을 결정합니다. internazionalization과 관련하여 매우 자주 중요합니다. 예를 들어 일본어 한자를 어떻게 정렬합니까?
Google 데이터 정렬 및 SQL Server를 사용하면 이에 대해 많은 기사를 찾을 수 있습니다!
답변
참고이 문서에서 가져온 것입니다 :
데이터 정렬은 문자 세트의 문자를 비교하기위한 규칙의 집합입니다. 또한 문자 정렬에 대한 규칙이 있으며 두 문자의 올바른 순서는 언어마다 다릅니다. 데이터 정렬은 단어가 다른 문자열보다 큰 경우와 같이 두 문자열을 비교 한 후 정렬합니다.
“latin1″문자 집합을 사용하는 경우 “latin1_swedish_ci”데이터 정렬을 사용할 수 있습니다.
잘못된 데이터 정렬은 데이터베이스 성능에 영향을 줄 수 있으므로 올바른 데이터 정렬을 선택해야합니다.