Heim > Datenbank > MySQL-Tutorial > Wie sortiere ich VARCHAR-Spalten mit gemischten numerischen und alphabetischen Werten numerisch in SQL Server?

Wie sortiere ich VARCHAR-Spalten mit gemischten numerischen und alphabetischen Werten numerisch in SQL Server?

Susan Sarandon
Freigeben: 2025-01-04 01:52:40
Original
408 Leute haben es durchsucht

How to Sort VARCHAR Columns with Mixed Numeric and Alphabetic Values Numerically in SQL Server?

Sortieren von VARCHAR-Spalten mit numerischen Werten in SQL Server

Wenn es sich um eine VARCHAR-Spalte handelt, die sowohl Zahlen als auch Buchstaben enthalten kann, stellt das Sortieren ein Problem dar Herausforderung, wenn Sie möchten, dass numerische Werte numerisch geordnet werden. Standardmäßig sortiert SQL Server eine solche Spalte alphabetisch, was in diesem Fall nicht wünschenswert ist.

Um das gewünschte Sortierverhalten zu erreichen, besteht eine Lösung darin, numerische Werte mit Zeichen aufzufüllen, um sicherzustellen, dass alle Zeichenfolgen die gleiche Länge haben. Dadurch kann SQL Server die Daten numerisch sortieren.

Hier ist eine Beispielabfrage, die diesen Ansatz demonstriert:

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 wird die IsNumeric-Funktion verwendet, um zu bestimmen, ob ein Wert numerisch ist . Wenn dies der Fall ist, fügt die Funktion „Replizieren“ führende Nullen hinzu, um die Zeichenfolge auf eine feste Länge aufzufüllen (in diesem Beispiel 100). Andernfalls bleibt der Wert unverändert.

Durch die Sortierung nach diesem Ausdruck werden numerische Werte aufgefüllt und numerisch sortiert, während nicht numerische Werte alphabetisch sortiert werden. Dadurch wird die gewünschte Sortierreihenfolge sichergestellt, wie im Beispiel in der ursprünglichen Frage gezeigt:

1
2
10
A
B
B1
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sortiere ich VARCHAR-Spalten mit gemischten numerischen und alphabetischen Werten numerisch in SQL Server?. 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