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
CHECK
ograniczenieFOREIGN KEY
ograniczenie
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.