Ich bin interessiert, ob es möglich ist, die Sortierung für eine Spalte anzugeben, wenn ein Index erstellt wird, der sich von der Sortierung dieser Spalte unterscheidet. Und wenn indiziert, sind String-Daten nach Kollatierung der Spalte oder Kollatierung der Datenbank sortiert?
Ich glaube nicht, dass Sie es können. Obwohl COLLATE separat dokumentiert ist, werden Sie feststellen, dass nur drei Orte aufgelistet sind, wo es möglich ist auftreten:
Beachten Sie, dass beispielsweise in CREATE TABLE :
%Vor%dass die COLLATE-Klausel explizit erwähnt wird.
In CREATE INDEX :
%Vor%Beachten Sie, dass hier nur eine Spalte zulässig ist - weder eine Spaltendefinition noch ein Ausdruck.
Ich glaube, die Sortierung jeder Spalte innerhalb eines Index folgt der Sortierung der zugrunde liegenden Spalte (n) in der entsprechenden Tabelle. Die Datenbank-Kollatierung wird, soweit mir bekannt ist, nicht viel verwendet, außer eine Standard-Kollatierung bei CREATE / ALTER-Tabellenanweisungen für Spalten bereitzustellen.
Erstellen Sie eine indizierte Sicht und fügen Sie die Kollatierung der Spalte in der SELECT-Anweisung hinzu.