Was bedeutet Kollatierung in SQL und was macht es?
sql
sql-server-2005
tsql
mysql
LOVE_KING
quelle
quelle
Antworten:
Die Sortierung kann einfach als Sortierreihenfolge betrachtet werden.
Auf Englisch (und es ist ein seltsamer Cousin, Amerikaner) kann die Sortierung eine ziemlich einfache Angelegenheit sein, die aus der Bestellung nach dem ASCII-Code besteht.
Sobald Sie in diese seltsamen europäischen Sprachen mit all ihren Akzenten und anderen Merkmalen geraten, ändert sich die Sortierung. Obwohl die verschiedenen Formen mit Akzent
a
an unterschiedlichen Codepunkten vorhanden sein können, müssen sie möglicherweise alle so sortiert werden, als wären sie der gleiche Buchstabe.quelle
e
,ë
,é
,ě
, undè
könnte verschiedene Buchstaben für die Zwecke der Bestellung sein (aber möglicherweise den gleichen Brief bei der Suche, verdammt diese verrückten Europäer;)).42
Buchstaben verwendet,15
von denen sie diakritisch sind?where st= 'aaa'
?Neben den „Buchstaben mit Akzenten sortiert werden anders als unbetonter ones“ in einigen westeuropäischen Sprachen, müssen Sie die berücksichtigen Gruppen von Buchstaben, die unterschiedlich manchmal sortiert werden, auch.
Traditionell wurde "ch" auf Spanisch als eigenständiger Buchstabe betrachtet, genau wie "ll" (beide repräsentieren ein einzelnes Phonem), sodass eine Liste wie folgt sortiert wurde:
Bekanntmachung alle Wörter mit einzelnen Ausgangs c gehen zusammen, mit Ausnahme Wörter , beginnend mit ch , die gehen nach ihnen, das gleiche mit ll Worten Anfangsbuchstaben , die mit einem einzigen Start nach allen Wörtern gehen l . Dies ist die Reihenfolge, die Sie in alten Wörterbüchern und Enzyklopädien sehen, manchmal sogar heute noch von sehr konservativen Organisationen.
Die Royal Academy of the Language hat dies geändert, um es Spanisch zu erleichtern, sich in der Computerwelt zurechtzufinden. Trotzdem wird ñ immer noch als ein anderer Buchstabe als n betrachtet und geht danach und vor o . Das ist also eine korrekt geordnete Liste:
Durch Auswahl der richtigen Sortierung erledigen Sie das alles automatisch für Sie :-)
quelle
Regeln zum Vergleichen und Sortieren von Zeichenfolgen: Buchstabenreihenfolge; ob der Fall wichtig ist, ob diakritische Punkte wichtig sind usw.
Wenn Sie beispielsweise möchten, dass alle Buchstaben unterschiedlich sind (z. B. wenn Sie Dateinamen speichern
UNIX
), verwenden Sie dieUTF8_BIN
Sortierung:Wenn Sie Unterschiede zwischen Groß- und Kleinschreibung und diakritischen Zeichen ignorieren möchten (z. B. für eine Suchmaschine), verwenden Sie die
UTF8_GENERAL_CI
Sortierung:Wie Sie sehen können, berücksichtigt diese Sortierung (Vergleichsregel)
A
Groß- und Kleinschreibungä
denselben Buchstaben und ignoriert dabei Unterschiede zwischen Groß- und Kleinschreibung und diakritischen Zeichen.quelle
Die Sortierung definiert, wie Sie Zeichenfolgenwerte sortieren und vergleichen
Zum Beispiel wird definiert, wie damit umgegangen werden soll
äàa
etc)Aa
)cote < côte < coté < côté.
cote < coté < côte < côté
quelle
Sortierung bedeutet, den Zeichen in einem Alphabet eine bestimmte Reihenfolge zuzuweisen, z. B. ASCII oder Unicode usw.
Angenommen, Ihr Alphabet enthält 3 Zeichen - {A, B, C}. Sie können einige Beispielkollatierungen dafür definieren, indem Sie den Zeichen ganzzahlige Werte zuweisen
In der Tat können Sie n definieren! Kollatierungen auf einem Alphabet der Größe n. In einer solchen Reihenfolge verwenden verschiedene Sortierroutinen wie LSD / MSD-Zeichenfolgensortierungen diese zum Sortieren von Zeichenfolgen.
quelle
Die Sortierung bestimmt, wie Ihre Daten sortiert und verglichen werden. Es ist sehr oft wichtig im Hinblick auf die Internazionalisierung, z. B. wie sortiert man japanische Kanji?
Wenn Sie Google Collation und SQL Server verwenden, finden Sie zahlreiche Artikel, in denen dies diskutiert wird!
quelle
Aus diesem Artikel wird Bezug genommen: Eine Sortierung ist ein Satz von Regeln zum Vergleichen von Zeichen in einem Zeichensatz. Es wurde auch für das Sortieren von Zeichen entschieden, und die richtige Reihenfolge von zwei Zeichen variiert von Sprache zu Sprache. Eine Kollatierung verglich zwei Zeichenfolgen wie, wenn ein Wort größer als ein anderes ist, und sortierte entsprechend.
Wenn Sie den Zeichensatz "latin1" verwenden, können Sie die Sortierung "latin1_swedish_ci" verwenden.
Sie müssen die richtige Sortierung auswählen, da eine falsche Sortierung die Datenbankleistung beeinträchtigen kann.
quelle
http://en.wikipedia.org/wiki/Collation
quelle
Bei der Sortierung entscheidet SQL Server, wie Text sortiert und verglichen wird.
Siehe MSDN .
quelle