Heim >Datenbank >MySQL-Tutorial >Wie sortiere ich eine VARCHAR-Spalte mit gemischten Zahlen und Buchstaben in SQL Server?

Wie sortiere ich eine VARCHAR-Spalte mit gemischten Zahlen und Buchstaben in SQL Server?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-31 09:50:13581Durchsuche

How to Sort a VARCHAR Column with Mixed Numbers and Letters in SQL Server?

Sortieren einer VARCHAR-Spalte mit Zahlen in SQL Server

Das Sortieren einer VARCHAR-Spalte, die eine Mischung aus Buchstaben und Zahlen enthält, kann insbesondere eine Herausforderung sein wenn die gewünschte Reihenfolge numerisch für numerisch ist Werte.

Ansatz:

Der empfohlene Ansatz besteht darin, numerische Werte mit einem führenden Zeichen aufzufüllen, um sicherzustellen, dass sie alle die gleiche Zeichenfolgenlänge haben. Dadurch kann SQL Server die Werte numerisch vergleichen.

Lösung:

SELECT MyColumn
FROM MyTable
ORDER BY
    CASE ISNUMERIC(MyColumn)
        WHEN 1 THEN REPLICATE('0', 100 - LEN(MyColumn)) + MyColumn
        ELSE MyColumn
    END

In dieser Abfrage:

  • ISNUMERIC prüft, ob die Der Wert ist numerisch.
  • REPLICATE erstellt eine Zeichenfolge mit einer angegebenen Anzahl führender Zeichen Nullen.
  • Das Ergebnis dieses CASE-Ausdrucks wird dann als Sortierkriterium verwendet.

Beispiel:

Betrachten Sie eine Spalte mit dem Namen „ MyColumn“ mit Folgendem Werte:

  • "1"
  • "10"
  • "2"
  • "A"
  • "B"
  • "B1"

Mit der obigen Abfrage wird die sortierte Ergebnisse wären:

1
2
10
A
B
B1

Das obige ist der detaillierte Inhalt vonWie sortiere ich eine VARCHAR-Spalte mit gemischten Zahlen und Buchstaben in SQL Server?. 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