Heim >Datenbank >MySQL-Tutorial >Wie kann ich überprüfen, ob eine MySQL-Spalte numerische Werte enthält?
Umfassender Leitfaden zur Identifizierung numerischer Daten in MySQL
Die Feststellung, ob eine MySQL-Spalte numerische Werte enthält, ist eine häufige Aufgabe bei der Datenbankverwaltung. Dieser Leitfaden beschreibt mehrere wirksame Techniken, um dies zu erreichen.
Ansatz 1: Nutzung der isNumeric()
Funktion
MySQL bietet die integrierte isNumeric()
-Funktion. Diese Funktion gibt praktischerweise 1 für numerische Werte und 0 für nicht numerische Werte zurück. So verwenden Sie es:
<code class="language-sql">SELECT * FROM myTable WHERE isNumeric(col1) = 1;</code>
Ansatz 2: Verwendung regulärer Ausdrücke
Reguläre Ausdrücke bieten eine flexible Alternative. Der folgende reguläre Ausdruck gleicht Zeichenfolgen ab, die vollständig aus Ziffern bestehen:
<code class="language-sql">col1 REGEXP '^[0-9]+$'</code>
Bebauen Sie dies wie folgt in Ihre Abfrage:
<code class="language-sql">SELECT * FROM myTable WHERE col1 REGEXP '^[0-9]+$';</code>
Ansatz 3: String-Konvertierung mit CAST()
Diese Methode versucht, den Spaltenwert mithilfe der Funktion CAST()
in eine Ganzzahl umzuwandeln. Eine erfolgreiche Konvertierung zeigt einen numerischen Wert an.
<code class="language-sql">SELECT * FROM myTable WHERE CAST(col1 AS UNSIGNED) IS NOT NULL;</code>
Die Verwendung von UNSIGNED
ist INT
vorzuziehen, da es einen größeren Bereich positiver Zahlen verarbeitet und potenzielle Fehler mit negativen Werten vermeidet, wenn Ihre Daten diese nicht enthalten.
Weiterführende Literatur:
Das obige ist der detaillierte Inhalt vonWie kann ich überprüfen, ob eine MySQL-Spalte numerische Werte enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!