Sortieren von Zeichenfolgenspalten mit Zahlen in SQL
Diese Anfrage betrifft das Sortieren einer Zeichenfolgenspalte, die Zahlen enthält, wobei der Standard-Sortieralgorithmus Zahlen mit einordnet Führende Nullen nach Zahlen ohne führende Nullen, wodurch möglicherweise die beabsichtigte Reihenfolge geändert wird. Der Benutzer sucht nach einer Methode, um dieses Verhalten allein mit SQL zu überschreiben.
Eine wirksame Lösung für dieses Problem besteht darin, den numerischen Teil der Zeichenfolge mithilfe der CAST-Funktion und der SUBSTRING-Funktion zu isolieren. Durch Extrahieren der numerischen Teilzeichenfolge wandelt die CAST-Funktion sie in einen ganzzahligen Wert um, was eine ordnungsgemäße Sortierung ermöglicht.
Hier ist ein Beispiel für den Code:
<code class="sql">SELECT * FROM table ORDER BY CAST(SUBSTRING(column, LOCATE(' ', column) + 1) AS SIGNED)</code>
Zum Beispiel in einer Spalte mit dem Namen „name“ mit Werten wie „a 1“, „a 12“, „a 2“ und „a 3“ würde die Abfrage die folgenden Ergebnisse liefern:
+----------+ +-- name --+ +----------+ +-- a 1 ---+ +-- a 2 ---+ +-- a 3 ---+ +-- a 12 --+
Diese Methode sortiert effektiv die Spalte basierend auf den numerischen Werten unter Beibehaltung der alphanumerischen Präfixe.
Das obige ist der detaillierte Inhalt vonWie sortiere ich Zeichenfolgenspalten mit Zahlen in SQL unter Beibehaltung der Reihenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!