Нежелательное преобразование латинских букв в функции sql - PullRequest
0 голосов
/ 09 февраля 2011

Я использую Ms-Sql DB, и у меня есть поле, которое сохраняется в БД как тип nvarchar.Я использую linq to sql следующим образом:

var names = NamesTable.where(n=>n.name.Contains("acções"));

этот запрос возвращает имена, содержащие: acçoes / accoes или любую другую комбинацию.Похоже, что sql не распознает латинские специальные буквы как отличные от английских.

Как я могу решить эту проблему?

1 Ответ

2 голосов
/ 09 февраля 2011

В SqlServer вы можете установить "сопоставление" для каждого столбца. Обычно (я думаю) это «чувствительный к акценту», но ваш случай кажется «нечувствительным к акценту». Посмотрите, что там написано для сопоставления, если оно заканчивается на «AI», то это действительно Accent Insensitive. Вам нужно «как» для «Accent Sensitive».

И, кроме того, у вас может быть "CI" (для "без учета регистра") или "CS" (для "с учетом регистра").

...