Heim > Datenbank > MySQL-Tutorial > Wie kann ich VARCHAR-Spalten mit Zahlen in SQL Server numerisch sortieren?

Wie kann ich VARCHAR-Spalten mit Zahlen in SQL Server numerisch sortieren?

Mary-Kate Olsen
Freigeben: 2024-12-31 12:20:11
Original
863 Leute haben es durchsucht

How Can I Sort VARCHAR Columns Containing Numbers Numerically in SQL Server?

Sortieren von VARCHAR-Spalten mit Zahlen in SQL Server

Das Sortieren von VARCHAR-Spalten, die sowohl Buchstaben als auch Zahlen enthalten, kann eine Herausforderung sein, insbesondere wenn Sie es möchten Priorisieren Sie die numerische Sortierung für numerische Werte. Eine effektive Lösung besteht darin, numerische Werte mit Nullen aufzufüllen, um eine konsistente Zeichenfolgenlänge zu erreichen.

Die folgende SQL-Abfrage veranschaulicht diesen Ansatz:

select MyColumn
from MyTable
order by 
    case IsNumeric(MyColumn) 
        when 1 then Replicate('0', 100 - Len(MyColumn)) + MyColumn
        else MyColumn
    end
Nach dem Login kopieren

In dieser Abfrage:

  • IsNumeric(MyColumn) prüft, ob der Wert in MyColumn numerisch ist.
  • Wenn ja Wenn der Wert numerisch ist, fügt die Funktion Replicate() am Anfang des Werts Nullen hinzu, bis er eine Länge von 100 Zeichen erreicht. Dadurch wird sichergestellt, dass alle numerischen Werte die gleiche Zeichenfolgenlänge haben.
  • Wenn der Wert nicht numerisch ist, bleibt er unverändert.

Durch die Reihenfolge der Daten basierend auf den geänderten Werten wird diese Abfrage durchgeführt Sortieren Sie numerische Werte nach Wunsch numerisch und nicht numerische Werte alphabetisch. Denken Sie daran, 100 durch die tatsächliche Länge der MyColumn in Ihrer Datenbank zu ersetzen.

Das obige ist der detaillierte Inhalt vonWie kann ich VARCHAR-Spalten mit Zahlen in SQL Server numerisch sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage