Som standard bruger hver kolonne i en SQL Server-database den sortering, der er angivet på databaseniveau. Og som standard tages databasesorteringen fra serversorteringen. Disse sorteringsindstillinger kan dog tilsidesættes, både på databaseniveau og kolonneniveau ved eksplicit at indstille sorteringen på dette niveau.
Denne side viser, hvordan man angiver sammenstillingen af en kolonne. Du kan indstille sorteringen ved at tilføje T-SQL COLLATE
klausul til CREATE TABLE
og ALTER TABLE
udsagn. Når du bruger disse udsagn, definerer du kolonnen og dens egenskaber, inklusive eventuelle sorteringsindstillinger. COLLATE
klausulen er valgfri, så hvis du ikke inkluderer den, vil kolonnen blot bruge standardsorteringen af databasen.
Indstil sorteringen
Her er et eksempel på angivelse af sorteringen, når du opretter en tabel:
CREATE TABLE Tasks ( TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY, TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL );
Dette opretter en tabel kaldet Tasks
med to søjler. Vi indstiller sorteringen af den anden kolonne (TaskName
) til French_CI_AI
. Hvis vi ikke gjorde det, ville den have brugt standarddatabasesorteringen.
Skift sorteringen
I dette næste eksempel ændrer jeg kolonnens sortering til Modern_Spanish_CI_AI_WS
:
ALTER TABLE Tasks ALTER COLUMN TaskName nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL GO
Bemærk, at du ikke kan ændre sammenstillingen af en kolonne, der henvises til af en af følgende:
- En beregnet kolonne
- Et indeks
- Fordelingsstatistik
- En
CHECK
begrænsning - En
FOREIGN KEY
begrænsning
Tjek sorteringen
Hvis du bruger SSMS, kan du kontrollere sorteringen af enhver kolonne ved at højreklikke på den kolonne i objektbrowseren og vælge Properties
.
I Transact-SQL er der et par forskellige måder at returnere en kolonnes kollation på. Sådan kontrollerer du sorteringen af en kolonne ved hjælp af T-SQL.