Heim  >  Artikel  >  Datenbank  >  Wie sortiere ich Zeichenfolgenspalten mit eingebetteten Zahlen in SQL?

Wie sortiere ich Zeichenfolgenspalten mit eingebetteten Zahlen in SQL?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 08:09:30793Durchsuche

How to Sort String Columns with Embedded Numbers in SQL?

Sortieren von Zeichenfolgenspalten mit eingebetteten Zahlen in SQL

In SQL ist es möglich, Zeichenfolgenspalten mit Zahlen mithilfe bestimmter Techniken zu sortieren. Dies kann nützlich sein, wenn der natürliche Sortieralgorithmus von Datenbanken wie MySQL nicht die gewünschten Ergebnisse liefert.

Um eine benutzerdefinierte Sortierung von Zeichenfolgenspalten mit Zahlen zu erreichen, können mehrere Ansätze verwendet werden:

Verwenden von CAST und SUBSTRING:

<code class="sql">SELECT *
FROM table
ORDER BY CAST(SUBSTRING(column,LOCATE(' ',column)+1) AS SIGNED)</code>

Diese Technik unterteilt die Spalte in zwei Teile: das Präfix vor dem Leerzeichen und die Zahl danach. Die Zahl wird dann zum Vergleich in einen numerischen Typ (in diesem Fall SIGNED) umgewandelt.

Verwendung von SUBSTRING_INDEX:

<code class="sql">ORDER BY SUBSTRING_INDEX(st, " ", 1) ASC, CAST(SUBSTRING_INDEX(st, " ", -1) AS SIGNED)</code>

Dieser Ansatz verwendet die Funktion SUBSTRING_INDEX, um Extrahieren Sie die Präfix- und Nummernkomponenten. Anschließend wird zuerst nach dem Präfix und dann nach der umgewandelten Zahl sortiert.

Hinweis: Wenn das Spaltenmuster von „WORD_space_NUMBER“ abweicht, ist möglicherweise ein anderer Ansatz erforderlich.

Beispiele:

Sample Data Natural Sorting Custom Sorting
a 1, a 12, a 6, a 11 a 1, a 12, a 2, a 3 a 1, a 2, a 3, a 12
b 1, b 12, b 6, b 11 b 1, b 12, b 2, b 3 b 1, b 2, b 3, b 12

Durch den Einsatz dieser Techniken ist es möglich, Zeichenfolgenspalten mit eingebetteten Zahlen auf individuelle Weise zu sortieren und so sicherzustellen, dass die Ergebnisse den spezifischen Anwendungsanforderungen entsprechen.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Zeichenfolgenspalten mit eingebetteten Zahlen in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn