首頁 > 資料庫 > mysql教程 > 在 MySQL 中如何檢查一個值是否為整數?

在 MySQL 中如何檢查一個值是否為整數?

WBOY
發布: 2023-08-25 12:17:03
轉載
2034 人瀏覽過

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

要檢查給定值是否是字串,我們使用cast()函數。如果該值不是數字則傳回 0,否則傳回數字值。這樣我們就可以檢查該值是否為整數。

情況 1 - 檢查帶有整數的字串

mysql> select cast('John123456' AS UNSIGNED);
登入後複製

以下是輸出。表示該值不是數字,因此傳回0。

+--------------------------------+
| cast('John123456' AS UNSIGNED) |
+--------------------------------+
|                              0 |
+--------------------------------+
1 row in set, 1 warning (0.00 sec)
登入後複製

情況 2 - 只檢查整數值

mysql> select cast('123456' AS UNSIGNED);
登入後複製

以下是輸出。它表示該值是數字,因此傳回值本身。

+----------------------------+
| cast('123456' AS UNSIGNED) |
+----------------------------+
|                     123456 |
+----------------------------+
1 row in set (0.00 sec)
登入後複製

這個邏輯對於浮動也很有效。

以下是浮點數值的查詢。

mysql>  SELECT CAST('78.90' AS UNSIGNED);
登入後複製

這是輸出。

+---------------------------+
| CAST('78.90' AS UNSIGNED) |
+---------------------------+
|                        78 |
+---------------------------+
1 row in set, 1 warning (0.00 sec)
登入後複製

與常規運算子的替代邏輯

它適用於任何值的所有條件,甚至是浮點數。

讓我們建立一個新表。

mysql> create table CheckingIntegerDemo
   -> (
   -> Value varchar(200)
   -> );
Query OK, 0 rows affected (0.88 sec)
登入後複製

將記錄插入表中。

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)
登入後複製

顯示所有記錄。

mysql> select *from CheckingIntegerDemo;
登入後複製

這是輸出。

+------------+
| Value      |
+------------+
| John123456 |
| 123456     |
| 123.456    |
+------------+
3 rows in set (0.00 sec
登入後複製

上面的輸出中,只有 123456 是整數,其餘都不是整數。

檢查值是否為整數的語法。

select yourColumnName from yourTableName where yourColumnName REGEXP '^-?[0-9]+$';
登入後複製

我們使用正規表示式的查詢。這將僅輸出整數值。

mysql> select Value from CheckingIntegerDemo where Value REGEXP '^-?[0-9]+$';
登入後複製

以下是輸出。

+--------+
| Value  |
+--------+
| 123456 |
+--------+
1 row in set (0.00 sec)
登入後複製

以上是在 MySQL 中如何檢查一個值是否為整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板