Domyślnie każda kolumna w bazie danych SQL Server używa sortowania określonego na poziomie bazy danych. I domyślnie sortowanie bazy danych jest pobierane z sortowania serwera. Jednak te ustawienia sortowania można nadpisać, zarówno na poziomie bazy danych, jak i na poziomie kolumny, jawnie ustawiając sortowanie na tym poziomie.
Ta strona pokazuje, jak określić sortowanie kolumny. Sortowanie można ustawić, dodając w języku T-SQL COLLATE klauzula do CREATE TABLE i ALTER TABLE sprawozdania. Korzystając z tych instrukcji, definiujesz kolumnę i jej właściwości, w tym wszelkie ustawienia sortowania. COLLATE klauzula jest opcjonalna, więc jeśli jej nie dodasz, kolumna użyje po prostu domyślnego sortowania bazy danych.
Ustaw sortowanie
Oto przykład określania sortowania podczas tworzenia tabeli:
CREATE TABLE Tasks (
TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY,
TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL
);
Tworzy to tabelę o nazwie Tasks z dwiema kolumnami. Ustawiamy sortowanie drugiej kolumny (TaskName ) do French_CI_AI . Gdybyśmy tego nie zrobili, użylibyśmy domyślnego sortowania bazy danych.
Zmień sortowanie
W następnym przykładzie zmieniam sortowanie kolumny na Modern_Spanish_CI_AI_WS :
ALTER TABLE Tasks ALTER COLUMN TaskName
nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL
GO
Pamiętaj, że nie możesz zmienić sortowania kolumny, do której odwołuje się jedno z poniższych:
- Kolumna obliczona
- Indeks
- Statystyki dystrybucji
CHECKograniczenieFOREIGN KEYograniczenie
Sprawdź sortowanie
Jeśli używasz SSMS, możesz sprawdzić sortowanie dowolnej kolumny, klikając prawym przyciskiem myszy tę kolumnę w Przeglądarce obiektów i wybierając Properties .
W Transact-SQL istnieje kilka różnych sposobów zwracania sortowania kolumny. Oto jak sprawdzić sortowanie kolumny za pomocą T-SQL.