2010-08-09 14 views
3

HI Там,, который является лучшей сверкой европейского + английского языка

я занимаюсь разработкой для европейских языков, а также для английского языка, строка сохраняются как NVARCHAR в SQL Server 2005.

так, что самая лучшая сортировка, которая будет использоваться, - «Latin1_General_CI_AS» охватывает все? существуют вариации, а как Latin1_General_CP1_CI_AS, Latin1_General_BIN, Latin1_General_BIN2 и т.д.

комментарии \ оценили предложения.

С уважением DEE

ответ

2

Для общего назначения сортировочного «General Latin1», вероятно, является лучшим выбором для Западной Европы и английском языках.

Я считаю, что если кодовая страница (например, CP1) не указана, по умолчанию она соответствует кодовой странице 1252 (что также означает CP1). Поэтому я понимаю, что Latin1_General_CI_AS и Latin1_General_CP1_CI_AS эквивалентны. Учитывая это, я считаю, что Latin1_General_CP1_CI_AS будет лучшим выбором для ясности. Используете ли вы CI_AS, CS_AS, или CI_AI - это просто проблема юзабилити, основанная на том, хотите ли вы чувствительность к регистру и/или чувствительность к акценту. С CI, "a" == "A" и с AI, "á" == "â".

Параметры _BIN и _BIN2 означают, что сортировка будет бинарной на основе значений кодовой точки. Для сортировки вы, вероятно, этого не хотите, потому что заказ не обязательно будет соответствовать любому типу словаря. Однако, если вы используете только индекс для поиска данных, то один из них может быть уместным, потому что он может быть быстрее. Для преобразования значения символа в соответствующее значение ключа требуется сравнительно небольшое вычисление.

Редактировать Как указывает Мартин в комментарии, кодовая страница не имеет значения, если вы не используете символ char, memo или varchar. Если вы полностью придерживаетесь Unicode (nchar, nvarchar, nmemo), тогда кодовая страница не войдет в игру. Если вы переводите символ Юникода в однобайтовый символ, он будет использоваться.

+0

+1 Просто упомянуть, чтобы избежать путаницы в том, что кодовая страница применяется к представлениям 'CHAR', а не к NVARCHAR. –

+0

@ Мартин, Это хороший момент. Я добавлю это. –

+0

Спасибо, Марк, это было очень полезно – DEE

Смежные вопросы