По подразбиране всяка колона в база данни на SQL Server използва съпоставянето, което е посочено на ниво база данни. И по подразбиране съпоставянето на базата данни се взема от съпоставянето на сървъра. Въпреки това, тези настройки за съпоставяне могат да бъдат отменени както на ниво база данни, така и на ниво колона, като изрично зададете съпоставянето на това ниво.
Тази страница демонстрира как да посочите сортирането на колона. Можете да зададете сортирането, като добавите T-SQL COLLATE клауза към CREATE TABLE и ALTER TABLE изявления. Когато използвате тези изрази, вие дефинирате колоната и нейните свойства, включително всички настройки за съпоставяне. COLLATE Клаузата не е задължителна, така че ако не я включите, колоната просто ще използва съпоставянето по подразбиране на базата данни.
Задайте сравняването
Ето пример за определяне на съпоставянето при създаване на таблица:
CREATE TABLE Tasks (
TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY,
TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL
);
Това създава таблица, наречена Tasks с две колони. Задаваме съпоставянето на втората колона (TaskName ) до French_CI_AI . Ако не го направихме, щеше да използва съпоставянето на базата данни по подразбиране.
Промяна на съпоставянето
В този следващ пример променям съпоставянето на колоната на Modern_Spanish_CI_AI_WS :
ALTER TABLE Tasks ALTER COLUMN TaskName
nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL
GO
Имайте предвид, че не можете да промените сортирането на колона, която се позовава на някое от следните:
- Изчислена колона
- Индекс
- Статистика на разпространението
CHECKограничениеFOREIGN KEYограничение
Проверете сравняването
Ако използвате SSMS, можете да проверите сортирането на всяка колона, като щракнете с десния бутон върху тази колона в браузъра на обекти и изберете Properties .
В Transact-SQL има няколко различни начина за връщане на съпоставянето на колона. Ето как да проверите сортирането на колона с помощта на T-SQL.