Was bedeutet Kollatierung in SQL und was macht es?
Was bedeutet Kollatierung in SQL und was macht es?
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.
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 :-)
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 die UTF8_BIN
Sortierung:
SELECT 'A' COLLATE UTF8_BIN = 'a' COLLATE UTF8_BIN
---
0
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:
SELECT 'A' COLLATE UTF8_GENERAL_CI = 'ä' COLLATE UTF8_GENERAL_CI
---
1
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.
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é
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.
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!
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.
http://en.wikipedia.org/wiki/Collation
Die Zusammenstellung ist die Zusammenstellung schriftlicher Informationen zu einer Standardbestellung. (...) Ein Kollatierungsalgorithmus wie der Unicode-Kollatierungsalgorithmus definiert eine Reihenfolge, indem zwei gegebene Zeichenketten verglichen und entschieden werden, welche vor der anderen stehen sollen.