MySQL學習筆記18:數學函數

來源:互聯網
上載者:User
絕對值函數ABS(x)和圓周率函數PI()
mysql> SELECT ABS(0.5), ABS(-0.5), PI();+----------+-----------+----------+| ABS(0.5) | ABS(-0.5) | PI()     |+----------+-----------+----------+|      0.5 |       0.5 | 3.141593 |+----------+-----------+----------+1 row in set (0.00 sec)

 

平方根函數SQRT(x)和求餘函數MOD(x,y)
mysql> SELECT SQRT(16), SQRT(3), MOD(13,4);+----------+--------------------+-----------+| SQRT(16) | SQRT(3)            | MOD(13,4) |+----------+--------------------+-----------+|        4 | 1.7320508075688772 |         1 |+----------+--------------------+-----------+1 row in set (0.00 sec)

 

取整函數CEIL(x)、CEILING(x)和FLOOR(x)
mysql> SELECT CEIL(2.3), CEIL(-2.3), CEILING(2.3), CEILING(-2.3);+-----------+------------+--------------+---------------+| CEIL(2.3) | CEIL(-2.3) | CEILING(2.3) | CEILING(-2.3) |+-----------+------------+--------------+---------------+|         3 |         -2 |            3 |            -2 |+-----------+------------+--------------+---------------+1 row in set (0.00 sec)mysql> SELECT FLOOR(2.3), FLOOR(-2.3);+------------+-------------+| FLOOR(2.3) | FLOOR(-2.3) |+------------+-------------+|          2 |          -3 |+------------+-------------+1 row in set (0.00 sec)

CEIL(x)和CEILING(x)返回大於或等於x的最小整數

FLOOR(x)返回小於或等於x的最大整數

 

隨機數函數RAND()和RAND(x)
mysql> SELECT RAND(), RAND(2), RAND(2);+--------------------+--------------------+--------------------+| RAND()             | RAND(2)            | RAND(2)            |+--------------------+--------------------+--------------------+| 0.8269294489425881 | 0.6555866465490187 | 0.6555866465490187 |+--------------------+--------------------+--------------------+1 row in set (0.00 sec)

RAND()和RAND(x)這兩個函數丟失返回0~1的隨機數

區別在於,RAND()返回的數是完全隨機的,而RAND(x)在x相同時返回的值相同

 

四捨五入函數ROUND(x)、ROUND(x,y)和TRUNCATE(x,y)
mysql> SELECT ROUND(2.3), ROUND(2.5), ROUND(2.53,1), ROUND(2.55,1);+------------+------------+---------------+---------------+| ROUND(2.3) | ROUND(2.5) | ROUND(2.53,1) | ROUND(2.55,1) |+------------+------------+---------------+---------------+|          2 |          3 |           2.5 |           2.6 |+------------+------------+---------------+---------------+1 row in set (0.00 sec)

ROUND(x)返回離x最近的整數,也就是對x進行四捨五入處理

ROUND(x,y)返回x保留到小數點後y位的值,在截取時進行四捨五入處理

mysql> SELECT TRUNCATE(2.53,1), TRUNCATE(2.55,1);+------------------+------------------+| TRUNCATE(2.53,1) | TRUNCATE(2.55,1) |+------------------+------------------+|              2.5 |              2.5 |+------------------+------------------+1 row in set (0.00 sec)

TRUNCATE(x,y)返回x保留到小數點後y位的值,不進行四捨五入操作

 

符號函數SIGN(x)
mysql> SELECT SIGN(-2), SIGN(0), SIGN(2);+----------+---------+---------+| SIGN(-2) | SIGN(0) | SIGN(2) |+----------+---------+---------+|       -1 |       0 |       1 |+----------+---------+---------+1 row in set (0.00 sec)

SIGN(x)返回x的符號,-1為負數,0不變,1為整數

 

冪運算函數POW(x,y)、POWER(x,y)
mysql> SELECT POW(3,2), POWER(3,2);+----------+------------+| POW(3,2) | POWER(3,2) |+----------+------------+|        9 |          9 |+----------+------------+1 row in set (0.00 sec)

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.