Die richtige Art, String-Nummern in MySQL zu sortieren
Wenn in der MySQL-Datenbank Zeichenfolgen fälschlicherweise als Zeichen für die Sortierung behandelt werden, sind die Sortierergebnisse möglicherweise falsch. Um dieses Problem zu lösen, muss die Zeichenfolge für die numerische Sortierung explizit oder implizit in einen Ganzzahltyp konvertiert werden.
Explizite Konvertierung
Spaltenwerte können mit der Funktion CAST()
explizit in Ganzzahlen umgewandelt werden:
<code class="language-sql">SELECT col FROM yourtable ORDER BY CAST(col AS UNSIGNED);</code>
Implizite Konvertierung
Implizite Konvertierungen können mithilfe mathematischer Operationen durchgeführt werden, die Werte in numerische Typen umwandeln:
<code class="language-sql">SELECT col FROM yourtable ORDER BY col + 0;</code>
Hinweise zur impliziten Konvertierung
Die Konvertierung von Zeichenfolgen in Zahlen in MySQL berücksichtigt Zeichen von links nach rechts:
字符串值 | 整数值 |
---|---|
'1' | 1 |
'ABC' | 0 |
'123miles' | 123 |
'3' | 0 |
Beim Cast wird die numerische Darstellung des Strings zur Sortierung verwendet, was zum gewünschten aufsteigenden Ergebnis führt.
Das obige ist der detaillierte Inhalt vonWie kann ich String-Nummern in MySQL richtig anordnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!