String-Nummern nach numerischem Wert in MySQL sortieren
Beim Umgang mit Zahlen, die als Zeichenfolgen in einer MySQL-Datenbank gespeichert sind, kann das Sortieren nach numerischer Größe schwierig sein. Die folgenden Fragen verdeutlichen das Problem:
Frage:
Wie sortiere ich eine Spalte, die Zeichenfolgenzahlen enthält, in aufsteigender Reihenfolge und zwar nach ihrer numerischen Größe und nicht nach ihrer Zeichendarstellung?
Antwort:
Das explizite oder implizite Konvertieren von Zeichenfolgenwerten in Ganzzahlen ermöglicht eine korrekte numerische Reihenfolge:
Explizite Konvertierung:
<code class="language-sql">SELECT col FROM yourtable ORDER BY CAST(col AS UNSIGNED)</code>
In diesem Beispiel konvertiert CAST die Spalte „col“ vor dem Sortieren in eine vorzeichenlose Ganzzahl.
Implizite Konvertierung:
<code class="language-sql">SELECT col FROM yourtable ORDER BY col + 0</code>
Das Hinzufügen von 0 zwingt MySQL, col vor dem Sortieren als numerischen Wert zu interpretieren.
Hinweis:
MySQL interpretiert Zeichenfolgen zur Konvertierung von links nach rechts. Zum Beispiel:
Das obige ist der detaillierte Inhalt vonWie sortiere ich String-Zahlen numerisch in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!