Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So legen Sie die Sortierung einer Spalte in SQL Server (T-SQL) fest

Standardmäßig verwendet jede Spalte in einer SQL Server-Datenbank die Sortierung, die auf Datenbankebene angegeben wurde. Und standardmäßig wird die Datenbanksortierung von der Serversortierung übernommen. Diese Sortierungseinstellungen können jedoch überschrieben werden, sowohl auf Datenbankebene als auch auf Spaltenebene, indem die Sortierung explizit auf dieser Ebene festgelegt wird.

Auf dieser Seite wird veranschaulicht, wie die Sortierung einer Spalte angegeben wird. Sie können die Sortierung festlegen, indem Sie das T-SQL COLLATE hinzufügen -Klausel zu CREATE TABLE und ALTER TABLE Aussagen. Wenn Sie diese Anweisungen verwenden, definieren Sie die Spalte und ihre Eigenschaften, einschließlich aller Sortierungseinstellungen. Das COLLATE -Klausel ist optional. Wenn Sie sie also nicht einschließen, verwendet die Spalte einfach die Standardsortierung der Datenbank.

Sortierung festlegen

Hier ist ein Beispiel für die Angabe der Sortierung beim Erstellen einer Tabelle:

CREATE TABLE Tasks (
    TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY,
    TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL
);

Dadurch wird eine Tabelle namens Tasks erstellt mit zwei Säulen. Wir setzen die Sortierung der zweiten Spalte (TaskName ) zu French_CI_AI . Wenn wir das nicht getan hätten, hätte es die Standard-Datenbanksortierung verwendet.

Sortierung ändern

In diesem nächsten Beispiel ändere ich die Sortierung der Spalte in Modern_Spanish_CI_AI_WS :

ALTER TABLE Tasks ALTER COLUMN TaskName
    nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL
GO

Beachten Sie, dass Sie die Sortierung einer Spalte, auf die von einem der folgenden Elemente verwiesen wird, nicht ändern können:

  • Eine berechnete Spalte
  • Ein Index
  • Verteilungsstatistiken
  • Ein CHECK Einschränkung
  • Ein FOREIGN KEY Einschränkung

Überprüfen Sie die Sortierung

Wenn Sie SSMS verwenden, können Sie die Sortierung einer beliebigen Spalte überprüfen, indem Sie im Objektbrowser mit der rechten Maustaste auf diese Spalte klicken und Properties auswählen .

In Transact-SQL gibt es verschiedene Möglichkeiten, die Sortierung einer Spalte zurückzugeben. So überprüfen Sie die Sortierung einer Spalte mit T-SQL.