1. 程式人生 > >MySQL常用數值函式

MySQL常用數值函式

在Mysql資料庫中,函式可以用在SELECT語句及其子句(例如 WHERE、ORDER BY、HAVING等)中,也可以用在UPDATE、DELETE語句及其子句中。函式包括字串函式、數值函式、時間日期函式和流程函式等。

數值函式

函式 功能
ABS(x) 返回x的絕對值
CEIL(x) 返回大於x的最小整數值
FLOOR(x) 返回大於x的最大整數值
MOD(x,y) 返回x/y的模
RAND() 返回0到1之間的隨機值
ROUND(x,y) 返回x四捨五入保留y位小數的值
TRUNCATE(x,y) 返回x擷取保留y位小數的值
PI() 返回π

1、ABS(x) : 返回x的絕對值

mysql> select abs(0.6),abs(-0.6);
+----------+-----------+
| abs(0.6) | abs(-0.6) |
+----------+-----------+
| 0.6 | 0.6 | +----------+-----------+

2、CEIL(x) : 返回大於x的最小整數值

mysql> select ceil(11.6),ceil(-11.6);
+------------+-------------+
| ceil(11.6) | ceil(-11.6) |
+------------+-------------+
|         12 |         -11 |
+------------+-------------+

3、FLOOR(x) : 返回大於x的最大整數值

mysql> select
floor(11.6),floor(-11.6);
+-------------+--------------+ | floor(11.6) | floor(-11.6) | +-------------+--------------+ | 11 | -12 | +-------------+--------------+

4、MOD(x,y) : 返回x/y的模

mysql> select mod(15,4),mod(null,4),mod(15,null);
+-----------+-------------+--------------+
| mod(15,4) | mod(null,4) | mod(15,null) |
+-----------+-------------+--------------+
|         3 |        NULL |         NULL |
+-----------+-------------+--------------+

結果與x%y一致,x或y任意一個為null結果為null
5、RAND() : 返回0到1之間的隨機值

mysql> select rand();
+-------------------+
| rand()            |
+-------------------+
| 0.671446274660012 |
+-------------------+

生成100以內隨機整數:

mysql> select ceil(rand()*100),ceil(rand()*100);
+------------------+------------------+
| ceil(rand()*100) | ceil(rand()*100) |
+------------------+------------------+
|               39 |               49 |
+------------------+------------------+

6、ROUND(x,y) : 返回x四捨五入保留y位小數的值

mysql> select round(0.666,2),round(0.666),round(1);
+----------------+--------------+----------+
| round(0.666,2) | round(0.666) | round(1) |
+----------------+--------------+----------+
|           0.67 |            1 |        1 |
+----------------+--------------+----------+

7、TRUNCATE(x,y) : 返回x擷取保留y位小數的值

mysql> select truncate(0.666,2);
+-------------------+
| truncate(0.666,2) |
+-------------------+
|              0.66 |
+-------------------+

8、PI() : 返回π

mysql> select pi();
+----------+
| pi()     |
+----------+
| 3.141593 |
+----------+