Есть ли в SQL Server параметр, который делает ссылки на имена столбцов чувствительными к регистру? - PullRequest
1 голос
/ 01 февраля 2011

Я работал в базе данных SQL Server (2000) стороннего программного обеспечения и заметил, что при выполнении следующего запроса:

SELECT Field_1, Field_2, Field_3 FROM TableName WHERE employee_ID = '00123'

Выдает ошибку:

Неверное имя столбца 'employee_ID'.

Но если я поменяю его на:

SELECT Field_1, Field_2, Field_3 FROM TableName WHERE Employee_ID = '00123'

Работает нормально. В столбце используется заглавная буква «Е». Мне всегда удавалось указывать имена столбцов без учета регистра. Есть ли какая-то настройка, о которой я не знаю, которая сделает SQL Server чувствительным к регистру?

Ответы [ 3 ]

1 голос
/ 01 февраля 2011

Схемы SQL Server могут быть сделаны с учетом регистра с использованием параметров сортировки

Вы можете изменить параметры сортировки с помощью операторов ALTER DATABASE, в качестве альтернативы вы можете изменить их на уровне таблицы с помощью ALTER TABLE.

Дополнительная информацияможно найти здесь:

http://www.databasejournal.com/features/mssql/article.php/3302341/SQL-Server-and-Collation.htm http://support.microsoft.com/kb/325335

0 голосов
/ 01 февраля 2011

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

Я считаю, что сортировка по умолчанию SQL_Latin1_General_CP1_CI_AS.Выделение g SQL_Latin1_General_CP1_CS_AS даст вам эквивалент с учетом регистра.

Обратите внимание, что значение по умолчанию может различаться в зависимости от версии сервера SQL и настроек языка / языка в поле, на котором установлен SQL Server.

Я считаю, что имена объектов с учетом регистра - это королевская PITA.YMMV.

0 голосов
/ 01 февраля 2011

Одним из параметров, которые могут повлиять на это, является сопоставление базы данных.Кроме того, параметры сортировки основной базы данных могут влиять на разрешение имен баз данных, системных сохраненных процедур и т. Д.

...