Есть ли такая вещь, как «сортировка Unicode»?

Или, если это не так, то что такое сервер Sql collation? Возможно, мое понимание сопоставления (как концепции) неверно.

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

(Я использую MSSQL 2005)

ОБНОВЛЕНИЕ: Хорошо, я перефразирую вопрос: существует ли общая, независимая от культуры сортировка, которая может использоваться для текстов любой культуры? Я знаю, что он не будет содержать специфические для культуры правила, такие как «ty» на венгерском языке или? = Ss на немецком языке, но обеспечит согласованные, в основном приемлемые результаты.

Существует ли какая-либо сортировка, не относящаяся к культуре?

sql-server,unicode,internationalization,

16

Ответов: 3


11 принят

Ну, всегда есть двоичная сортировка, такая как Latin1_General_BIN2. Он хранит кодовые точки в численном порядке, что может быть довольно произвольным. Это не зависит от культуры, хотя (несмотря на название).

Похоже, что нет разумного способа сортировать данные из нескольких языков / культур вместе, поэтому вместо полупеченого решения все, что вы можете сделать, это сортировать по двоичным значениям.


Это хорошая статья, чтобы знать, что такое сортировка, короткая и сладкая: SQL Server и Collation .

Сортировка - это то, что позволит вам сравнивать и сортировать данные. Насколько я помню, нет ничего похожего на сортировку Юникода.


0

Существует сортировка Unicode по умолчанию, «Таблица элементов сортировки Unicode по умолчанию (DUCET)», описанная в документе «Технический стандарт алгоритма унификации Unicode» http://www.unicode.org/reports/tr10/ .

Но одно называет это сортировкой по Юникоду по умолчанию, а не сортировкой Юникода, потому что, конечно, их более одного - например, диаграммы unicode.org для венгерского http://www.unicode.org/cldr/charts/28/collation/ hu.html описывает, как венгерская сортировка для символов Юникода отличается от DUCET.

Поскольку этот вопрос был задан, сопоставления SQL Server стали более доступными для Unicode https://docs.microsoft.com/en-us/sql/relational-databases/collations/collation-and-unicode-support?view=sql-server -2017 . Между тем некоторые СУБД с открытым исходным кодом получили возможность поддерживать DUCET и другие сортировки Unicode, включив библиотеку ICU (International Components for Unicode).

SQL-сервер, юникод, интернационализация,
Похожие вопросы