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 |
+-------------------------+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章