Heim > Datenbank > MySQL-Tutorial > Wie überprüfe ich, ob ein Wert in MySQL eine Ganzzahl ist?

Wie überprüfe ich, ob ein Wert in MySQL eine Ganzzahl ist?

WBOY
Freigeben: 2023-08-25 12:17:03
nach vorne
2033 Leute haben es durchsucht

在 MySQL 中如何检查一个值是否为整数?

Um zu überprüfen, ob ein gegebener Wert eine Zeichenfolge ist, verwenden wir die Funktion cast(). Gibt 0 zurück, wenn der Wert keine Zahl ist, andernfalls wird ein numerischer Wert zurückgegeben. Auf diese Weise können wir überprüfen, ob der Wert eine Ganzzahl ist.

Fall 1 – Überprüfen einer Zeichenfolge mit einer Ganzzahl

mysql> select cast('John123456' AS UNSIGNED);
Nach dem Login kopieren

Das Folgende ist die Ausgabe. Gibt an, dass der Wert keine Zahl ist und daher 0 zurückgegeben wird.

+--------------------------------+
| cast('John123456' AS UNSIGNED) |
+--------------------------------+
|                              0 |
+--------------------------------+
1 row in set, 1 warning (0.00 sec)
Nach dem Login kopieren

Fall 2 – Nur ganzzahlige Werte prüfen

mysql> select cast('123456' AS UNSIGNED);
Nach dem Login kopieren

Das Folgende ist die Ausgabe. Es zeigt an, dass der Wert eine Zahl ist, sodass der Wert selbst zurückgegeben wird.

+----------------------------+
| cast('123456' AS UNSIGNED) |
+----------------------------+
|                     123456 |
+----------------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren

Diese Logik funktioniert auch gut für Floats.

Das Folgende ist eine Abfrage für Gleitkommawerte.

mysql>  SELECT CAST('78.90' AS UNSIGNED);
Nach dem Login kopieren

Dies ist die Ausgabe.

+---------------------------+
| CAST('78.90' AS UNSIGNED) |
+---------------------------+
|                        78 |
+---------------------------+
1 row in set, 1 warning (0.00 sec)
Nach dem Login kopieren

Alternative Logik mit regulären Operatoren

Es funktioniert für alle Bedingungen mit jedem Wert, sogar Gleitkommazahlen.

Lassen Sie uns eine neue Tabelle erstellen.

mysql> create table CheckingIntegerDemo
   -> (
   -> Value varchar(200)
   -> );
Query OK, 0 rows affected (0.88 sec)
Nach dem Login kopieren

Datensätze in die Tabelle einfügen.

mysql> insert into CheckingIntegerDemo values('John123456');
Query OK, 1 row affected (0.10 sec)

mysql>  insert into CheckingIntegerDemo values('123456');
Query OK, 1 row affected (0.16 sec)

mysql> insert into CheckingIntegerDemo values('123.456');
Query OK, 1 row affected (0.16 sec)
Nach dem Login kopieren

Alle Datensätze anzeigen.

mysql> select *from CheckingIntegerDemo;
Nach dem Login kopieren

Dies ist die Ausgabe.

+------------+
| Value      |
+------------+
| John123456 |
| 123456     |
| 123.456    |
+------------+
3 rows in set (0.00 sec
Nach dem Login kopieren

In der obigen Ausgabe ist nur 123456 eine Ganzzahl und der Rest sind keine Ganzzahlen.

Syntax zum Überprüfen, ob ein Wert eine Ganzzahl ist.

select yourColumnName from yourTableName where yourColumnName REGEXP '^-?[0-9]+$';
Nach dem Login kopieren

Wir verwenden Abfragen mit regulären Ausdrücken. Dadurch werden nur ganzzahlige Werte ausgegeben.

mysql> select Value from CheckingIntegerDemo where Value REGEXP '^-?[0-9]+$';
Nach dem Login kopieren

Das Folgende ist die Ausgabe.

+--------+
| Value  |
+--------+
| 123456 |
+--------+
1 row in set (0.00 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie überprüfe ich, ob ein Wert in MySQL eine Ganzzahl ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage