Teilweise nicht numerischen Text in Zahlen für die MySQL-Abfragesortierung konvertieren
In MySQL kann das Sortieren von Varchar-Spalten basierend auf eingebetteten numerischen Werten eine Herausforderung sein . Diese Frage befasst sich mit einem praktischen Szenario, in dem eine Spalte Bezeichner im Format „Name-Nummer“ enthält und basierend auf der numerischen Komponente sortiert werden muss.
Problem:
Die Spalte enthält Text im Format „Name-Nummer“, wobei die Zahlenkomponente in den Text eingebettet ist. Das Sortieren der Spalte mit der Standardzeichenreihenfolge führt aufgrund des Zeichenvergleichs zu einer ungenauen Reihenfolge.
Lösung:
Um dieses Problem zu beheben, ist es notwendig, die Nicht-Zeichenfolge zu konvertieren -Numerischer Text vor dem Sortieren in Zahlen umwandeln. Die folgende Abfrage kann dies erreichen:
SELECT field,CONVERT(SUBSTRING_INDEX(field,'-',-1),UNSIGNED INTEGER) AS num FROM table ORDER BY num;
Erklärung:
Zusätzlich Überlegungen:
Das obige ist der detaillierte Inhalt vonWie kann ich eine MySQL-Spalte, die „Name-Nummer'-Strings enthält, numerisch sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!