MySQL基礎之數學函式

2021-09-25 12:55:25 字數 3389 閱讀 2018

mysql 中可用的數學函式很多,此處整理幾個常見的函式。

1、round函式 四捨五入

round有兩個過載函式。

round(x)

round(x,d)

round(x)例項:

mysql> select round(1.65) as out_put1, 

round(1.55) as out_put2,

round(1.45) as out_put3;

+----------+----------+----------+

| out_put1 | out_put2 | out_put3 |

+----------+----------+----------+

| 2 | 2 | 1 |

+----------+----------+----------+

引數x為負數:

mysql> select round(-1.65) as out_put1,

round(-1.55) as out_put2,

round(-1.45) as out_put3;

+----------+----------+----------+

| out_put1 | out_put2 | out_put3 |

+----------+----------+----------+

| -2 | -2 | -1 |

+----------+----------+----------+

對於負數的處理,我們可以先將其絕對值四捨五入,再在前面加上負號。

round(x,d)例項:

mysql> select round(-1.65,1) as out_put1,

round(-1.554,2) as out_put2,

round(-1.45,1) as out_put3;

+----------+----------+----------+

| out_put1 | out_put2 | out_put3 |

+----------+----------+----------+

| -1.7 | -1.55 | -1.5 |

+----------+----------+----------+

round(x,d),x指要處理的數,d是指保留幾位小數。

2、ceil函式 向上取整

返回大於等於該引數的最小整數

ceil(x)
參與是正數:

mysql> select ceil(1.52) as out_put1,

ceil(1.002) as out_put2,

ceil(1.00) as out_put3;

+----------+----------+----------+

| out_put1 | out_put2 | out_put3 |

+----------+----------+----------+

| 2 | 2 | 1 |

+----------+----------+----------+

對1.52和1.002,大於等於其的最小整數是2,而1.00有等於它的整數1。

引數是負數:

mysql> select ceil(-2.52) as out_put1, 

ceil(-1.002) as out_put2,

ceil(-1.00) as out_put3;

+----------+----------+----------+

| out_put1 | out_put2 | out_put3 |

+----------+----------+----------+

| -2 | -1 | -1 |

+----------+----------+----------+

記住結果是返回大於等於該引數的最小整數即可。

3、floor函式 向下取整

返回小於等於該引數的最大整數

floor(x)
例項:

mysql> select floor(9.99) as out_put1,

floor(-9.99) as out_put2;

+----------+----------+

| out_put1 | out_put2 |

+----------+----------+

| 9 | -10 |

+----------+----------+

4、truncate函式 截斷

將值截斷為指定的小數字數,而不管後面是什麼都不要。

truncate(x,d)
例項:

mysql> select truncate(1.65,1) as out_put1,

truncate(1.999,1) as out_put2;

+----------+----------+

| out_put1 | out_put2 |

+----------+----------+

| 1.6 | 1.9 |

+----------+----------+

第二個引數表示保留小數點後幾位。

5、mod函式 取模

mod(n,m)
也就是進行模運算,返回 n 除以 m 的餘數。

例項:

mysql> select mod(10,3);

+-----------+

| mod(10,3) |

+-----------+

| 1 |

+-----------+

假如被除數是負數:

mysql> select mod(-10,3);

+------------+

| mod(-10,3) |

+------------+

| -1 |

+------------+

假如兩個引數都是負數:

mysql> select mod(-10,-3);

+-------------+

| mod(-10,-3) |

+-------------+

| -1 |

+-------------+

關於模運算,有乙個說法:被除數是正數,結果是正數;被除數是負數,結果就是負數。

還可以使用乙個公式來計算結果:n - n/m*m。

原文:

MySQL數學函式

1.取餘函式 mod 12,5 2 2.四捨五入 round 1.354,1 1.4 truncate 1.354,1 1.3 3.十六進製制轉換函式 hex love 6c6f7665 unhex 6c6f7665 love 4.字元長度 char length date 4 5.連線函式 con...

數學基礎 隸屬函式

隸屬函式,也稱為歸屬函式或模糊元函式,是模糊集合中會用到的函式,是一般集合中指示函式的一般化。指示函式可以說明乙個集合中的元素是否屬於特定子集合。一元素的指示函式的值可能是0或是1,而一元素的隸屬函式會是0到1之間的數值,表示元素屬於某模糊集合的 真實程度 degree of truth 例如質數為...

MySQL函式 數學函式

數學函式主要用於處理數字,包括整型 浮點數等。函式 作用 1 abs x 返回x的絕對值 select abs 1 返回1 2 ceil x ceiling x 返回大於或等於x的最小整數 select ceil 1.5 返回2 3 floor x 返回小於或等於x的最大整數 select floo...