mysql 常用數學函數總結
名稱 | 功能 |
---|---|
abs( number ) | 取絕對值 |
sign( number ) | 獲取數字的正負號 |
mod( number1, number2 ) | 取模,與%作用一樣 |
round( number[, degree] ) | 對小數進行四捨五入 |
ceil( number ) | 向上取整 number> truncate(number)? truncate(number)+1 :truncate(number) |
floor( number ) | 向下取整 truncate(number) > 0 ? truncate(number) : truncate(number) -1 |
truncate( number, degree) | 小數截斷 |
pow(x, y) | 求x的y次冪 |
sqrt( number ) | 求平方根 |
pi() | 獲取圓周率 |
rand(seed) | 獲取隨機數,可以設置一個種子,一般以當前時間戳爲seed |
least(num1, num2, num3,…) | 求最小數 |
greatest(num1, num2, num3,…) | 求最大數 |
1、abs( number )
作用: 求絕對值。
mysql> select abs(-3.14);
+------------+
| abs(-3.14) |
+------------+
| 3.14 |
+------------+
2、sign( number )
作用:求數字的符號。如果number爲0,則返回0;大於0,則返回1;小於0,返回-1;
#非number類型數據,會嘗試轉爲number類型。
mysql> select sign('123.4');
+---------------+
| sign('123.4') |
+---------------+
| 1 |
+---------------+
#如果參數的值爲null,那麼結果爲null。
mysql> select sign(null)
-> ;
+------------+
| sign(null) |
+------------+
| NULL |
+------------+
3、mod( number1, number2 )
作用: 取模,number1 - number1/number2 *number2; 就是結果。被除數是正數,結果爲正數;被除數爲負數,則結果爲負數;
mysql> select -12 % 5;
+---------+
| -12 % 5 |
+---------+
| -2 |
+---------+
4、round( number[, degree] )
作用:四捨五入;
#默認是四捨五入到小數點的第一位。
mysql> select round(3.89);
+-------------+
| round(3.89) |
+-------------+
| 4 |
+-------------+
#直接判斷小數點後的第一位進行四捨五入。
mysql> select round(3.45);
+-------------+
| round(3.45) |
+-------------+
| 3 |
+-------------+
#也可以通過第二個參數指定四捨五入的位置。
mysql> select round(3.45,1);
+---------------+
| round(3.45,1) |
+---------------+
| 3.5 |
+---------------+
5、ceil( number )
作用:向上取整 [number] <= number < [number]+1
mysql> select ceil(3.14);
+------------+
| ceil(3.14) |
+------------+
| 4 |
+------------+
6、floor( number )
作用:向下取整 [number]-1 < number <= [number]
mysql> select floor(3.14);
+-------------+
| floor(3.14) |
+-------------+
| 3 |
+-------------+
7、truncate( number, degree)
作用:小數截斷。
mysql> select truncate(3.14,1);
+------------------+
| truncate(3.14,1) |
+------------------+
| 3.1 |
+------------------+
8、pow(x, y)
作用:求x的y次方。
mysql> select pow(3,4);
+----------+
| pow(3,4) |
+----------+
| 81 |
+----------+
9、sqrt( number )
作用:求二次方根。
mysql> select sqrt(4);
+---------+
| sqrt(4) |
+---------+
| 2 |
+---------+
10、pi()
作用:獲取圓周率。
mysql> select pi();
+----------+
| pi() |
+----------+
| 3.141593 |
+----------+
11、rand(seed)
作用:獲取隨機數。0~1的取值。
mysql> select rand(rand());
+---------------------+
| rand(rand()) |
+---------------------+
| 0.40540353712197724 |
+---------------------+
12、least(num1, num2, num3,…)
作用:獲取最小數。
mysql> select least(1,2,3,4,1,2,3);
+----------------------+
| least(1,2,3,4,1,2,3) |
+----------------------+
| 1 |
13、greatest(num1, num2, num3,…)
作用: 獲取最大數。
mysql> select greatest(1,2,3,4,1,2,3);
+-------------------------+
| greatest(1,2,3,4,1,2,3) |
+-------------------------+
| 4 |
+-------------------------+