Erstellen einer Testtabelle-- ---------------------------- -- Tabellenstruktur für check_test -- ---------------------------- Tabelle löschen, wenn `check_test` vorhanden ist; Tabelle „check_test“ erstellen ( `id` int(11) NICHT NULL AUTO_INCREMENT, `current_price` varchar(10) NICHT NULL, `Preis` varchar(10) NICHT NULL, PRIMÄRSCHLÜSSEL (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; -- ---------------------------- -- Aufzeichnungen von check_test -- ---------------------------- INSERT INTO `check_test` VALUES ('1', '12', '14'); INSERT INTO `check_test` VALUES ('2', '22', '33'); INSERT INTO `check_test` VALUES ('3', '15', '8'); INSERT INTO `check_test` VALUES ('4', '9', '7'); INSERT INTO `check_test` VALUES ('5', '12', '12.9'); Wir führen das folgende SQL aus: - Suchen Sie die Datensätze, bei denen current_price kleiner als price ist. Wählen Sie * aus check_test, wobei current_price<price; ist. Wählen Sie * aus Check_Test, wobei (aktueller Preis + 0) < (Preis + 0); - Suchen Sie die Datensätze, bei denen der aktuelle Preis größer als der Preis ist. Wählen Sie * aus check_test, wobei aktueller Preis > Preis liegt. Wählen Sie * aus Check_Test, wobei (aktueller Preis + 0) > (Preis + 0); Die Ergebnisse sind wie folgt: Wir können sehen, dass in Ergebnis 1 15>8 die Bedingung nicht erfüllt, aber gefunden wird, während in Ergebnis 3 15>8 die Bedingung erfüllt, aber nicht gefunden wird. Warum ist das so? Denn der Vergleich von Zahlen vom Typ String beginnt bei der ersten Ziffer und vergleicht den entsprechenden Wert im Zeichencode. Wenn sie gleich sind, wird mit dem Vergleich der zweiten Ziffer fortgefahren. Wenn sie nicht gleich sind, wird der größere Wert verglichen . Die den numerischen Zeichen entsprechenden ASCII-Codewerte lauten wie folgt: Zum Beispiel:
Wir können dies mithilfe von Code mit JavaScript überprüfen: var aktueller_Preis = "12"; var Preis = "14"; console.log(aktueller_Preis < Preis); // wahr var aktueller_Preis = "15"; var Preis = "8"; console.log(aktueller_Preis < Preis); // wahr Daher sollten Zahlen, die möglicherweise verglichen werden müssen, nicht auf den Typ varchar gesetzt werden. Wenn sie jedoch auf den Typ varchar gesetzt wurden, konvertieren Sie sie zum Vergleichen in den numerischen Typ und fügen Sie dem Feld in SQL 0 hinzu. Wenn es sich um eine Programmiersprache handelt, muss die Konvertierung über die entsprechende Funktion erfolgen und kann nicht direkt durch Hinzufügen von 0 konvertiert werden, z. B. JavaScript: var aktueller_Preis = "12"; var Preis = "14"; console.log(parseInt(aktueller_Preis) < parseInt(Preis)); // wahr var aktueller_Preis = "15"; var Preis = "8"; console.log(parseInt(aktueller_Preis) < parseInt(Preis)); // falsch Hinweis: Der dem Zeichen entsprechende Dezimalwert hängt mit seiner Kodierung zusammen, der ASCII-Code ist jedoch kompatibel. Referenzlinks:Vergleich der Zahlen vom Typ String Vergleich von Zeichenfolgen vom Typ VARCHAR Vergleichen der Größe von Zahlen vom Typ varchar Dies ist das Ende dieses Artikels zum Vergleichen der Größe von varchar-Zahlen in einer MySQL-Datenbank. Weitere Informationen zum Vergleichen der Größe von MySQL varchar-Zahlen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
>>: Über die 4 Zusatzfunktionen von Vuex
Heutzutage wird die Bildschirmauflösung von Compu...
Inhaltsverzeichnis Linux - Verwenden Sie MyCat, u...
1. Einfache Konfiguration der dynamischen und sta...
Inhaltsverzeichnis getApp() Definieren Sie Variab...
1. HTML-Schriftfarbeneinstellung In HTML verwende...
Inhaltsverzeichnis Knoten-Ereignisschleife Ereign...
In diesem Artikelbeispiel wird der spezifische Co...
Als ich kürzlich MySQL in Docker installierte, st...
Inhaltsverzeichnis 1. Verwenden Sie das „A“-Tag, ...
Inhaltsverzeichnis Vorwort Keep-Avlive-Hook-Funkt...
1. Der Unterschied zwischen TEXT und BLOB Der ein...
Inhaltsverzeichnis Kurzzusammenfassung Heute Mitt...
1. Medienabfragemethode /*iPhone X-Anpassung*/ @m...
In diesem Artikelbeispiel wird der spezifische Co...
Bevor wir über die CSS-Priorität sprechen, müssen...