Heim  >  Artikel  >  Datenbank  >  Wie kann ich VARCHAR-Spalten mit Zahlen in MySQL als echte numerische Werte sortieren?

Wie kann ich VARCHAR-Spalten mit Zahlen in MySQL als echte numerische Werte sortieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-29 22:20:29316Durchsuche

How can I sort VARCHAR columns containing numbers in MySQL as true numeric values?

Numerische Sortierung von Varchar-Strings in MySQL

Beim Verwalten von Daten in einer relationalen Datenbank ist es oft notwendig, Werte basierend auf ihrem numerischen Inhalt zu sortieren . Wenn jedoch numerische Werte als Zeichenfolgen in einer VARCHAR-Spalte gespeichert werden, führt MySQL die Sortierung möglicherweise nicht korrekt durch. In diesem Artikel wird eine Lösung zum Sortieren von VARCHAR-Spalten, die Zahlen enthalten, als echte numerische Werte untersucht.

Problem:

Wie können wir eine Spalte vom Typ VARCHAR sortieren, die numerische Werte als speichert? Zeichenfolgen wie „17,95“, „199,95“ und „139,95“ als tatsächliche Zahlen in MySQL?

Lösung:

Um VARCHAR-Zeichenfolgen mit Zahlen zu sortieren als numerische Werte können wir die folgende Technik verwenden:

  • Multiplizieren Sie die VARCHAR-Spalte mit 1 unter Verwendung des Ausdrucks „string_column * 1“.
<code class="sql">SELECT *
FROM tbl
ORDER BY string_column * 1</code>

Diese Operation wandelt die um VARCHAR-String in einen numerischen Datentyp, sodass MySQL die Sortierung korrekt durchführen kann.

Vorteile der Verwendung von * 1:

Über die Aktivierung der numerischen Sortierung von VARCHAR-Strings hinaus, Multiplikation mit 1 bietet mehrere weitere Vorteile:

  • Belastbarkeit: Es kann Unterlaufprobleme tolerieren, die beim Gießen auftreten können.
  • Toleranz: Es funktioniert für Spalten, die sowohl numerische als auch nicht numerische Daten enthalten, wobei die nicht numerischen Teile ignoriert werden.
  • Alphanumerische Handhabung: Es extrahiert die numerischen Teile aus alphanumerischen Zeichenfolgen, wie z. B. „123A“, „ 124A‘ und ‚125A‘.

Das obige ist der detaillierte Inhalt vonWie kann ich VARCHAR-Spalten mit Zahlen in MySQL als echte numerische Werte sortieren?. 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