Was bedeutet COLLATE LOCALIZED ASC stehen?
-
24-09-2019 - |
Frage
private Cursor getContacts()
{
// Run query
Uri uri = ContactsContract.Contacts.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME
};
String selection = ContactsContract.Contacts.IN_VISIBLE_GROUP + " = '" +
(mShowInvisible ? "0" : "1") + "'";
String[] selectionArgs = null;
String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
}
Was bedeutet COLLATE LOCALIZED ASC
Standplatz?
Lösung
Collate ist nur Phantasie sprechen für Art (auch eine Art). Also diese Art ordert basierend auf lokalisierten Präferenzen (das heißt Alphabet der aktuellen Sprache und Konventionen) in asc endet um.
Andere Tipps
Es weist SQLite zu sortieren Nicht-ASCII-Zeichen entsprechend. Chars mit diakritischen Zeichen (manche nennen sie Akzente) höhere Byte-Codes als das Zeichen Z, also eine reine ASCII-Art nicht zu viele Fremdsprachen passen würde.
Zum Beispiel des Kapitals A char des Byte-Code ist 0x41
und die Hauptstadt Z char ist 0x5A
. Dann haben wir die Á (Kapital A accute), der Code in Unicode 0x00C1
ist. So ein einfacher Byte-Code-Art die Á nach dem Z führen.
Aber in Sprachen, die diese Art von Zeichen haben die Konvention ist die mit diakritischen Zeichen zu setzen, als ob sie nicht die diakritischen haben. So ist die Á mit der Ebene A zusammen sein sollte, zumindest vor B.
Und zu veranschaulichen, wir unten eine Liste von Namen sortiert haben mit ihrem Bytecode:
- Brenda
- Debby
- George
- Álvaro
- Érico
Sie nun die COLLATE LOCALIZED
mit ihm durch die „Basis“ des Zeichens sortieren würde:
- Álvaro
- Brenda
- Debby
- Érico
- George
COLLATE ist eine SQL-Operator, der die Standard-Sortierreihenfolge für Zeichenfolgen können außer Kraft setzen. Zum Beispiel: „COLLATE NOCASE“ macht Groß- und Kleinschreibung Vergleich und „COLLATE BINARY“ tut Groß- und Kleinschreibung Vergleich.
Die SQLite-C-Schnittstelle können Sie benutzerdefinierte Sortierungen ( definieren http://www.sqlite.org /c3ref/create_collation.html ).