Что означает сопоставление в SQL и что он делает?
Что означает сортировка?
Ответ 1
Сортировку можно просто рассматривать как порядок сортировки.
По-английски (и это странный двоюродный брат, американский), сортировка может быть довольно простым вопросом, состоящим в упорядочении по коду ASCII.
Как только вы попадаете в эти странные европейские языки со всеми их акцентами и другими особенностями, изменения сортировки. Например, хотя разные разногласие формы a
могут существовать в разрозненных кодовых точках, их все можно отсортировать, как если бы они были одной и той же буквой.
Ответ 2
Кроме того, "акцентированные буквы сортируются по-разному, чем безрезультатные" на некоторых западноевропейских языках, вы должны учитывать группы букв, которые иногда также сортируются по-разному.
Традиционно на испанском языке "ch" считался буквой в своем собственном праве, то же самое с "ll" (обе из которых представляют собой одну фонему), поэтому список будет отсортирован следующим образом:
- Кабальо
- Синко
- Coche
- Charco
- шоколад
- chueco
- цоколь
- (...)
- Lampara
- Luego
- llantali >
- Lluvia
- Мадера
Обратите внимание, что все слова, начинающиеся с одного с, идут вместе, кроме слов, начинающихся с ch, которые идут после, то же самое с ll-start словами, которые идут после всех слов, начинающихся с одного l. Это упорядочение, которое вы увидите в старых словарях и энциклопедиях, иногда даже сегодня очень консервативными организациями.
Королевская академия языка изменила это, чтобы облегчить испанский язык в компьютерном мире. Тем не менее, - по-прежнему считается другой буквой, чем n, и идет после, и до o. Итак, это правильно упорядоченный список:
- Намибия
- número
- нанду
- NU
- Obra
- Охо
Выбрав правильную сортировку, вы получите все это для себя автоматически: -)
Ответ 3
Правила, которые рассказывают, как сравнивать и сортировать строки: порядок букв; имеет ли дело дело, имеют ли диакритические вопросы и т.д.
Например, если вы хотите, чтобы все буквы были разными (например, если вы храните имена файлов в UNIX
), вы используете UTF8_BIN
сортировку:
SELECT 'A' COLLATE UTF8_BIN = 'a' COLLATE UTF8_BIN
---
0
Если вы хотите игнорировать различия в case и diacritics (скажем, для поисковой системы), вы используете UTF8_GENERAL_CI
collation:
SELECT 'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI
---
1
Как вы можете видеть, это сопоставление (правило сравнения) рассматривает капитал A
и lowecase ä
ту же букву, игнорируя регистр и диакритические различия.
Ответ 4
Collation определяет, как сортировать и сравнивать строковые значения
Например, он определяет, как работать с
- акценты (
äàa
и т.д.) - case (
Aa
) - контекст языка:
- Во французском сопоставлении
cote < côte < coté < côté.
- В стандарте SQL Server Latin1,
cote < coté < côte < côté
- Во французском сопоставлении
- Сортировка ASCII (двоичная сортировка)
Ответ 5
Коллирование означает назначение некоторого порядка символам в алфавите, скажем, ASCII или Unicode и т.д.
Предположим, что у вас есть 3 символа в вашем алфавите - {A, B, C}. Вы можете определить для него некоторые примерные сопоставления, назначив целые значения символам
- Пример 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, используя его для сортировки строк.
Ответ 6
Сортировка определяет, как ваши данные сортируются и сравниваются. Это очень часто важно в отношении интернализации, например. как вы разбираетесь в японском кандзи?
Если вы настроили google и sql-сервер, вы найдете много статей, обсуждающих это.
Ответ 7
Ссылка взята из этой статьи: Сопоставление - это набор правил для сравнения символов в наборе символов. Он также правил для сортировки символов, и правильный порядок двух символов варьируется от языка к языку. Сортировка сравнивает две строки, например, если слово больше другого, и сортировать соответственно.
Если вы используете набор символов "latin1", вы можете использовать "latin1_swedish_ci" Collation.
Вам нужно выбрать правильную сортировку, потому что неправильная сортировка может повлиять на производительность вашей базы данных.
Ответ 8
http://en.wikipedia.org/wiki/Collation
Сопоставление - это сборка письменной информации в стандартный порядок. (...) Алгоритм сопоставления, такой как алгоритм сортировки Unicode, определяет порядок в процессе сравнения двух заданных строк символов и решения, которое должно перед другим.
Ответ 9
Сравнение - это то, как SQL-сервер решает, как сортировать и сравнивать текст.
См. MSDN.