Какую сортировку использовать для базы данных SQL Server?
какую сортировку мне нужно выбрать? SQL Server 2008
Я нашел хороший и родственный пост на stackoverflow.com по этому вопросу:
Как выбрать сортировку базы данных SQL Server
Итак, если я хорошо понимаю (ссылка выше ссылки):
- сортировка используется для сортировки и сравнения):
- NVARCHAR используется для хранения данных.
свойства сопоставления /parms
- CI указывает нечувствительность к регистру
- CS указывает чувствительность к регистру
- AI указывает на нечувствительность к акценту
- AS указывает на чувствительность к акцентам
Мне нужно создать базу данных и сохранить турецкий и английский языки, я выберу CI и AI. Я не хочу иметь чувствительный к регистру и не чувствительный к акценту, так что это легко. Я думаю, это ясно для английского, но у турецких есть специальные символы, такие как üçö и т.д.
Вопрос:
Поскольку сортировка не связана с данными STORING, и я буду использовать NVARCHAR
, , почему следует выбрать сортировку Turkish_100_CI_AI
, я также могу использовать Latin1_General_100_CI_AI
, который также является моим значением по умолчанию мой SQL Server. Оба являются латинскими script.
Это тот же вопрос для хранения АНГЛИЙСКОГО и ФРАНЦУЗСКОГО в той же базе данных... Почему я должен использовать French_100_CI_AI
вместо Latin1_General_100_CI_AI
?
Может кто-нибудь советовать? Я не прав?
Ответы
Ответ 1
Вы можете установить сопоставление явно для каждого столбца, используя предложение COLLATE, если ваша модель данных позволяет разделить данные на столбцы, специфичные для языка.
Вы также можете применить предложение COLLATE к оператору SELECT (например, вы сохраняете все языковые данные в одном месте и только фильтруете по языку в SELECT).
Насколько я знаю, турецкий (порядок сортировки) не распространяется на Latin1.