首頁 > 軟體

MySQL常見數值函數整理

2023-02-28 18:02:34

絕對值函數

語法格式:ABS(X)

例:檢視三個數值的絕對值(負的絕對值為它的正整數,0的絕對值為0,正的絕對值為它本身)。

mysql> select abs(2),abs(-32),abs(-0.5);
+--------+----------+-----------+
| abs(2) | abs(-32) | abs(-0.5) |
+--------+----------+-----------+
|      2 |       32 |       0.5 |
+--------+----------+-----------+
1 row in set (0.01 sec)

求餘函數

語法格式:MOD(N,M), N % M, N MOD M

例:檢視三個數值,三個方法檢視取餘。

mysql> select mod(10,3),20%3,15 mod 4;
+-----------+------+----------+
| mod(10,3) | 20%3 | 15 mod 4 |
+-----------+------+----------+
|         1 |    2 |        3 |
+-----------+------+----------+
1 row in set (0.00 sec)

獲取整數的函數

語法格式:CEIL(X)、CEILING(x) 、FLOOR(x)

例:ceil和ceiling返回不小於x的最小整數,floor返回不大於x的最大整數。

mysql> select ceil(2.1234),ceiling(3.1234),floor(4.1234);
+--------------+-----------------+---------------+
| ceil(2.1234) | ceiling(3.1234) | floor(4.1234) |
+--------------+-----------------+---------------+
|            3 |               4 |             4 |
+--------------+-----------------+---------------+
1 row in set (0.00 sec)

獲取亂數的函數

語法格式:RAND() 、RAND(x)

例1:rand()用於返回一個0~1之間的隨機浮點數。

mysql> select rand(),rand();
+--------------------+---------------------+
| rand()             | rand()              |
+--------------------+---------------------+
| 0.8802711524816893 | 0.21204793100436026 |
+--------------------+---------------------+
1 row in set (0.00 sec)
例2:rand(x)用於返回一個0~1之間的浮點數,x作為種子值用來產生重複序列。
mysql> select rand(2),rand(2),rand(1000000);
+--------------------+--------------------+--------------------+
| rand(2)            | rand(2)            | rand(1000000)      |
+--------------------+--------------------+--------------------+
| 0.6555866465490187 | 0.6555866465490187 | 0.2644144708890603 |
+--------------------+--------------------+--------------------+
1 row in set (0.00 sec)

四捨五入的函數

語法格式:ROUND(x) 、ROUND(x,y)

例:round(x)四捨五入為整數,round(x,y)四捨五入保留後面兩位小數。

mysql> select round(3.512),round(4.235,2);
+--------------+----------------+
| round(3.512) | round(4.235,2) |
+--------------+----------------+
|            4 |           4.24 |
+--------------+----------------+
1 row in set (0.00 sec)

擷取數值的函數

語法格式:TRUNCATE(x,y)

例1:擷取數值,保留y位。

mysql> select truncate(2.567,2),truncate(1.99,1);
+-------------------+------------------+
| truncate(2.567,2) | truncate(1.99,1) |
+-------------------+------------------+
|              2.56 |              1.9 |
+-------------------+------------------+
1 row in set (0.00 sec)

例2:擷取1234為1000,擷取1234為1200(負數表明把右側的數值擷取為0,看到下面的操作可以想到,把負數改為-1可以看到多少?結果為1230!)

mysql> select truncate(1234,-3),truncate(1234,-2);
+-------------------+-------------------+
| truncate(1234,-3) | truncate(1234,-2) |
+-------------------+-------------------+
|              1000 |              1200 |
+-------------------+-------------------+
1 row in set (0.00 sec)

符號函數

語法格式:SIGN(x)

例:sign(x)表示任何負數返回-1,0返回0,任何正數返回1。

mysql> select sign(-123),sign(0),sign(223);
+------------+---------+-----------+
| sign(-123) | sign(0) | sign(223) |
+------------+---------+-----------+
|         -1 |       0 |         1 |
+------------+---------+-----------+
1 row in set (0.00 sec)

冪運算函數

語法格式:POW(x,y) 、POWER(x,y)

例:兩個用處相同,pow為返回2的三次方,power返回3的四次方。

mysql> select pow(2,3),power(3,4);
+----------+------------+
| pow(2,3) | power(3,4) |
+----------+------------+
|        8 |         81 |
+----------+------------+
1 row in set (0.00 sec)

總結

到此這篇關於MySQL常見數值函數的文章就介紹到這了,更多相關MySQL數值函數內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com