콜 레이션이란 무엇입니까?
데이터 정렬은 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}
As a matter of fact, you can define n! collations on an Alphabet of size n. Given such an order, different sorting routines likes LSD/MSD string sorts make use of it for sorting strings.
Collation determines how your data is sorted and compared. It's very often important with regards to internazionalization, e.g. how do you sort japanese kanji?
If you google collation and sql server you'll find plenty of articles discussing it!
Reference is taken from this Article: A collation is a set of rules for comparing characters in a character set. It has also ruled for sorting of characters and proper order of two characters varies from language to language. A Collation compared two strings like, if a word is greater than another one, and sort accordingly.
If you are using “latin1” Character set, you can use “latin1_swedish_ci” Collation.
You have to choose right collation because wrong collation may affect your database performance.
http://en.wikipedia.org/wiki/Collation
Collation is the assembly of written information into a standard order. (...) A collation algorithm such as the Unicode collation algorithm defines an order through the process of comparing two given character strings and deciding which should come before the other.
The collation is how SQL server decides on how to sort and compare text.
See MSDN.
참고URL : https://stackoverflow.com/questions/4538732/what-does-collation-mean
'Programing' 카테고리의 다른 글
Swift의 프로토콜과 Java의 인터페이스 비교 (0) | 2020.06.30 |
---|---|
릴리스 모드에서 코드 동작이 예상과 다릅니다 (0) | 2020.06.30 |
Docker 컨테이너에서 여러 프로그램을 실행할 수 있습니까? (0) | 2020.06.30 |
스레드 대 스레드 풀 (0) | 2020.06.30 |
Visual Studio Productivity Power Tools에서 만든 .sln.docstates 파일은 무엇입니까? (0) | 2020.06.30 |