Wie kann ich die Sortierung einer bestimmten Tabelle in einer Datenbank erhalten? Ist es möglich, dass eine Tabelle in db eine andere Sortierung hat?Wie kann ich die Sortierung einer bestimmten Tabelle in einer Datenbank abrufen?
Antwort
Die Sortierung auf Tabellenebene erfolgt pro Spalte, daher ist eine Sortierung möglich, die sich von der Datenbank unterscheidet. Wenn die Kollatierung nicht auf Spaltenebene definiert ist, wird standardmäßig die Sortiereinstellung für die Datenbank verwendet.
SQL Server 2000:
SELECT c.name,
c.collation
FROM SYSCOLUMNS c
WHERE [id] = OBJECT_ID('your_table_name')
SQL Server 2005+:
SELECT c.name,
c.collation_name
FROM SYS.COLUMNS c
JOIN SYS.TABLES t ON t.object_id = c.object_id
WHERE t.name = 'your_table_name'
Es gibt keine Sortierung für eine Tabelle.
Eine Datenbank hat eine Standardsortierung (standardmäßig die Sortierung für den Server).
Die Standardsortierung für die Datenbank wird auf jede Spalte angewendet, die Sie einer Tabelle hinzufügen, sofern Sie nicht explizit eine Sortierung auf Spaltenebene angeben.
Wie ich diese Spalte Ebene Sortierungs bekommen kann? –
Der letzte Fall kann noch einfacher sein (keine Join oder Objekt-ID), wenn Sie das Schema 'INFORMATION_SCHEMA' anstelle des Schemas' sys' verwenden. Sie erhalten: 'SELECT COLUMN_NAME, COLLATION_NAME VON INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Ihr_Tabellen_Name'' –
Entschuldigung, der obige Kommentar gilt nur für SQL Server 2012 und später, was offensichtlich nicht verfügbar war, als die Antwort geschrieben wurde, aber ich denke, die meisten Leute werden benutze es jetzt, damit der Kommentar immer noch nützlich sein kann. –