In MYSQL wissen wir, dass jedem ENUM-Wert eine Indexnummer zugeordnet ist. ENUM-Werte werden auch nach ihrer Indexnummer sortiert. Darüber hinaus hängt die Indexnummer von der Reihenfolge ab, in der die Aufzählungselemente in der Spaltenspezifikation aufgeführt sind. Beispielsweise steht in der ENUM-Spalte („GUT“, „AUSGEZEICHNET“) „GUT“ vor „AUSGEZEICHNET“. Mit anderen Worten können wir sagen, dass die Indexnummer von „GUT“ „1“ und die Indexnummer von „AUSGEZEICHNET“ „2“ sein wird.
MySQL kann auch leere Zeichenfolgen speichern und Nullwerte in ENUM konvertieren. Es sortiert leere Zeichenfolgen vor nicht leeren Zeichenfolgen und NULL vor leeren Zeichenfolgen. Die Sortierreihenfolge ist also wie folgt:
Sortierreihenfolge der ENUM-Werte 强> |
1. NULL td> |
2. Leere Zeichenfolge
|
In diesem Beispiel haben wir eine Tabelle „Ergebnisse“, die die ENUM-Spalte „Rang“ enthält. Die Tabelle enthält die folgenden Werte.
mysql> Select * from Result; +-----+--------+-------+ | Id | Name | Grade | +-----+--------+-------+ | 100 | Gaurav | GOOD | | 101 | Rahul | POOR | | 102 | Rahul | NULL | | 103 | Mohan | | +-----+--------+-------+ 4 rows in set (0.00 sec)
MySQL gibt jetzt nach Verwendung der ORDER BY-Klausel eine sortierte Ausgabe zurück. Wir können beobachten, dass die Ausgabe nach der Indexnummer sortiert wird.
mysql> Select * from result order by grade; +-----+--------+-------+ | Id | Name | Grade | +-----+--------+-------+ | 102 | Rahul | NULL | | 103 | Mohan | | | 101 | Rahul | POOR | | 100 | Gaurav | GOOD | +-----+--------+-------+ 4 rows in set (0.00 sec)
Das obige ist der detaillierte Inhalt vonWie werden MySQL ENUM-Werte sortiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!