mysql的exp平方 Mysql數學函式

2021-10-19 19:41:55 字數 4981 閱讀 5655

所有的數學函式在乙個出錯的情況下返回null。

單目減。改變引數的符號。

mysql> select - 2;

注意,如果這個操作符與乙個bigint使用,返回值是乙個bigint!這意味著你應該避免在整數上使用-,那可能有值-2^63!

abs(x)

返回x的絕對值。

mysql> select abs(2);

-> 2

mysql> select abs(-32);

-> 32

該功能可安全用於bigint值。

sign(x)

返回引數的符號,為-1、0或1,取決於x是否是負數、零或正數。

mysql> select sign(-32);

-> -1

mysql> select sign(0);

-> 0

mysql> select sign(234);

-> 1

mod(n,m)

模 (類似c中的%操作符)。返回n被m除的餘數。

mysql> select mod(234, 10);

-> 4

mysql> select 253 % 7;

-> 1

mysql> select mod(29,9);

-> 2

這個函式可安全用於bigint值。

floor(x)

返回不大於x的最大整數值。

mysql> select floor(1.23);

-> 1

mysql> select floor(-1.23);

-> -2

注意返回值被變換為乙個bigint!

ceiling(x)

返回不小於x的最小整數值。

mysql> select ceiling(1.23);

-> 2

mysql> select ceiling(-1.23);

-> -1

注意返回值被變換為乙個bigint!

round(x)

返回引數x的四捨五入的乙個整數。

mysql> select round(-1.23);

-> -1

mysql> select round(-1.58);

-> -2

mysql> select round(1.58);

-> 2

注意返回值被變換為乙個bigint!

round(x,d)

返回引數x的四捨五入的有d為小數的乙個數字。如果d為0,結果將沒有小數點或小數部分。

mysql> select round(1.298, 1);

-> 1.3

mysql> select round(1.298, 0);

-> 1

注意返回值被變換為乙個bigint!

exp(x)

返回值e(自然對數的底)的x次方。

mysql> select exp(2);

-> 7.389056

mysql> select exp(-2);

-> 0.135335

log(x)

返回x的自然對數。

mysql> select log(2);

-> 0.693147

mysql> select log(-2);

-> null

如果你想要乙個數字x的任意底b的對數,使用公式log(x)/log(b)。

log10(x)

返回x的以10為底的對數。

mysql> select log10(2);

-> 0.301030

mysql> select log10(100);

-> 2.000000

mysql> select log10(-100);

-> null

pow(x,y)

power(x,y)

返回值x的y次冪。

mysql> select pow(2,2);

-> 4.000000

mysql> select pow(2,-2);

-> 0.250000

sqrt(x)

返回非負數x的平方根。

mysql> select sqrt(4);

-> 2.000000

mysql> select sqrt(20);

-> 4.472136

pi()

返回pi的值(圓周率)。

mysql> select pi();

-> 3.141593

cos(x)

返回x的余弦, 在這裡x以弧度給出。

mysql> select cos(pi());

-> -1.000000

sin(x)

返回x的正弦值,在此x以弧度給出。

mysql> select sin(pi());

-> 0.000000

tan(x)

返回x的正切值,在此x以弧度給出。

mysql> select tan(pi()+1);

-> 1.557408

acos(x)

返回x反余弦,即其餘弦值是x。如果x不在-1到1的範圍,返回null。

mysql> select acos(1);

-> 0.000000

mysql> select acos(1.0001);

-> null

mysql> select acos(0);

-> 1.570796

asin(x)

返回x反正弦值,即其正弦值是x。l如果x不在-1到1的範圍,返回null。

mysql> select asin(0.2);

-> 0.201358

mysql> select asin('foo');

-> 0.000000

atan(x)

返回x的反正切值,即其正切值是x。

mysql> select atan(2);

-> 1.107149

mysql> select atan(-2);

-> -1.107149

atan2(x,y)

返回2個變數x和y的反正切。它類似於計算y/x的反正切,除了兩個引數的符號被用來決定結果的象限。

mysql> select atan(-2,2);

-> -0.785398

mysql> select atan(pi(),0);

-> 1.570796

cot(x)

返回x的餘切。

mysql> select cot(12);

-> -1.57267341

mysql> select cot(0);

-> null

rand()

rand(n)

返回在範圍0到1.0內的隨機浮點值。如果乙個整數引數n被指定,它被用作種子值。

mysql> select rand();

-> 0.5925

mysql> select rand(20);

-> 0.1811

mysql> select rand(20);

-> 0.1811

mysql> select rand();

-> 0.2079

mysql> select rand();

-> 0.7888

你不能在乙個order by子句用rand()值使用列,因為order by將重複計算列多次。然而在mysql3.23中,你可以做: select * from table_name order by rand(),這是有利於得到乙個來自select * from table1,table2 where a=b and c

least(x,y,...)

有2和2個以上的引數,返回最小(最小值)的引數。引數使用下列規則進行比較:

如果返回值被使用在乙個integer上下文,或所有的引數都是整數值,他們作為整數比較。

如果返回值被使用在乙個real上下文,或所有的引數是實數值,他們作為實數比較。

如果任何引數是乙個大小敏感的字串,引數作為大小寫敏感的字串被比較。

在其他的情況下,引數作為大小寫無關的字串被比較。

mysql> select least(2,0);

-> 0

mysql> select least(34.0,3.0,5.0,767.0);

-> 3.0

mysql> select least("b","a","c");

-> "a"

在mysql 3.22.5以前的版本,你可以使用min()而不是least。

greatest(x,y,...)

返回最大(最大值)的引數。引數使用與least一樣的規則進行比較。

mysql> select greatest(2,0);

-> 2

mysql> select greatest(34.0,3.0,5.0,767.0);

-> 767.0

mysql> select greatest("b","a","c");

-> "c"

在mysql在 3.22.5 以前的版本, 你能使用max()而不是greatest.

degrees(x)

返回引數x,從弧度變換為角度。

mysql> select degrees(pi());

-> 180.000000

radians(x)

返回引數x,從角度變換為弧度。

mysql> select radians(90);

-> 1.570796

truncate(x,d)

返回數字x,截斷為d位小數。如果d為0,結果將沒有小數點或小數部分。

mysql> select truncate(1.223,1);

-> 1.2

mysql> select truncate(1.999,1);

-> 1.9

mysql> select truncate(1.999,0);

-> 1

Mysq篇 了解Mysql(一)

in關鍵字和exists關鍵字select from a where a.idin select id from b 對外表a使用索引效率高,建議a為大表。select from a whereexists select from b where a.id b.id 對內表b使用索引效率高,建議b為...

mysql 平方 MySQL好用的數學函式

最近專案很忙,分給我的功能都比較複雜,還好能應付的下來。在工作的過程中,我發現使用mysql的自帶函式能夠極大的減少程式的複雜度。這是必然的,使用mysql的函式,能夠在程式裡面省卻很多的迴圈遍歷。但是網上有的專家說,在mysql裡面使用數學以及字串函式,會使得mysql的效率變慢,我想這是必然的。...

mysql 密碼清楚 linux清除MYSQL密碼

1.先以root使用者登入系統 2.關閉mysql服務或程序 service d stop killall mysqld 3.特權啟動mysql usr local mysql bin mysqld safe skip grant tables or mysqld safe skip grant t...