Подтвердить что ты не робот

Что означает сортировка?

Что означает сопоставление в SQL и что он делает?

4b9b3361

Ответ 1

Сортировку можно просто рассматривать как порядок сортировки.

По-английски (и это странный двоюродный брат, американский), сортировка может быть довольно простым вопросом, состоящим в упорядочении по коду ASCII.

Как только вы попадаете в эти странные европейские языки со всеми их акцентами и другими особенностями, изменения сортировки. Например, хотя разные разногласие формы a могут существовать в разрозненных кодовых точках, их все можно отсортировать, как если бы они были одной и той же буквой.

Ответ 2

Кроме того, "акцентированные буквы сортируются по-разному, чем безрезультатные" на некоторых западноевропейских языках, вы должны учитывать группы букв, которые иногда также сортируются по-разному.

Традиционно на испанском языке "ch" считался буквой в своем собственном праве, то же самое с "ll" (обе из которых представляют собой одну фонему), поэтому список будет отсортирован следующим образом:

  • Кабальо
  • Синко
  • Coche
  • Charco
  • шоколад
  • chueco
  • цоколь
  • (...)
  • Lampara
  • Luego
  • llanta​​li >
  • 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.