国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

MySQL基礎(chǔ)教程8 —— 函數(shù)之?dāng)?shù)值函數(shù)

瀏覽:119日期:2023-10-17 16:51:53
1.算術(shù)操作符

可使用常見的算術(shù)操作符。注意就-、+和*而言,若兩個(gè)參數(shù)均為正數(shù),則其計(jì)算結(jié)果的精確度為BIGINT (64比特),若其中一個(gè)參數(shù)為無符號(hào)整數(shù), 而其它參數(shù)也是整數(shù),則結(jié)果為無符號(hào)整數(shù)。

+

加號(hào):

mysql>SELECT 3+5;

-> 8

-

減號(hào):

mysql>SELECT 3-5;

-> -2

-

一元減號(hào)。更換參數(shù)符號(hào)。

mysql>SELECT - 2;

-> -2

注意:若該 操作符同一個(gè)BIGINT同時(shí)使用,則返回值也是一個(gè)BIGINT。這意味著你應(yīng)當(dāng)盡量避免對(duì)可能產(chǎn)生–263的整數(shù)使用 –。

*

乘號(hào):

mysql>SELECT 3*5;

-> 15

mysql>SELECT 18014398509481984*18014398509481984.0;

-> 324518553658426726783156020576256.0

mysql>SELECT 18014398509481984*18014398509481984;

-> 0

最后一個(gè)表達(dá)式的結(jié)果是不正確的。原因是整數(shù)相乘的結(jié)果超過了BIGINT計(jì)算的64比特范圍。

/

除號(hào):

mysql>SELECT 3/5;

-> 0.60

被零除的結(jié)果為NULL:

mysql>SELECT 102/(1-1);

-> NULL

只有當(dāng)執(zhí)行的語境中,其結(jié)果要被轉(zhuǎn)化為一個(gè)整數(shù)時(shí) ,除法才會(huì)和BIGINT算法一起使用。

DIV

整數(shù)除法。 類似于FLOOR(),然而使用BIGINT算法也是可靠的。

mysql>SELECT 5 DIV 2;

-> 2

2.數(shù)學(xué)函數(shù)

若發(fā)生錯(cuò)誤,所有數(shù)學(xué)函數(shù)會(huì)返回NULL。

ABS(X)

返回X的絕對(duì)值。

mysql>SELECT ABS(2);

-> 2

mysql>SELECT ABS(-32);

-> 32

該函數(shù)支持使用BIGINT值。

ACOS(X)

返回X反余弦,即,余弦是X的值。若X不在-1到1的范圍之內(nèi),則返回NULL。

mysql>SELECT ACOS(1);

-> 0

mysql>SELECT ACOS(1.0001);

-> NULL

mysql>SELECT ACOS(0);

-> 1.5707963267949

ASIN(X)

返回X的反正弦,即,正弦為X的值。若X若X不在-1到1的范圍之內(nèi),則返回NULL。

mysql> SELECT ASIN(0.2); -> 0.20135792079033mysql> SELECT ASIN(’foo’);+-------------+| ASIN(’foo’) |+-------------+| 0 |+-------------+1 row in set, 1 warning (0.00 sec)mysql> SHOW WARNINGS;+---------+------+-----------------------------------------+| Level | Code | Message |+---------+------+-----------------------------------------+| Warning | 1292 | Truncated incorrect DOUBLE value: ’foo’ |+---------+------+-----------------------------------------+ATAN(X)

返回X的反正切,即,正切為X的值。

mysql>SELECT ATAN(2);

-> 1.1071487177941

mysql>SELECT ATAN(-2);

-> -1.1071487177941

ATAN(Y,X) , ATAN2(Y,X)

返回兩個(gè)變量X及Y的反正切。 它類似于Y或X的反正切計(jì)算,除非兩個(gè)參數(shù)的符號(hào)均用于確定結(jié)果所在象限。

mysql>SELECT ATAN(-2,2);

-> -0.78539816339745

mysql>SELECT ATAN2(PI(),0);

-> 1.5707963267949

CEILING(X) CEIL(X)

返回不小于X的最小整數(shù)值。

mysql>SELECT CEILING(1.23);

-> 2

mysql>SELECT CEIL(-1.23);

-> -1

這兩個(gè)函數(shù)的意義相同。注意返回值會(huì)被轉(zhuǎn)化為一個(gè)BIGINT。

COS(X)

返回X的余弦,其中X在弧度上已知。

mysql>SELECT COS(PI());

-> -1

COT(X)

返回X的余切。

mysql>SELECT COT(12);

-> -1.5726734063977

mysql>SELECT COT(0);

-> NULL

CRC32(expr)

計(jì)算循環(huán)冗余碼校驗(yàn)值并返回一個(gè)32比特?zé)o符號(hào)值。若參數(shù)為NULL,則結(jié)果為NULL。該參數(shù)應(yīng)為一個(gè)字符串,而且在不是字符串的情況下會(huì)被作為字符串處理(若有可能)。

mysql>SELECT CRC32(’MySQL’);

-> 3259397556

mysql>SELECT CRC32(’mysql’);

-> 2501908538

DEGREES(X)

返回參數(shù)X,該參數(shù)由弧度被轉(zhuǎn)化為度。

mysql>SELECT DEGREES(PI());

-> 180

mysql>SELECT DEGREES(PI() / 2);

-> 90

EXP(X)

返回e的X乘方后的值(自然對(duì)數(shù)的底)。

mysql>SELECT EXP(2);

-> 7.3890560989307

mysql>SELECT EXP(-2);

-> 0.13533528323661

mysql>SELECT EXP(0);

-> 1

FLOOR(X)

返回不大于X的最大整數(shù)值 。

mysql>SELECT FLOOR(1.23);

-> 1

mysql>SELECT FLOOR(-1.23);

-> -2

注意,返回值會(huì)被轉(zhuǎn)化為一個(gè)BIGINT。

FORMAT(X,D)

將數(shù)字X的格式寫成’#,###,###.##’格式,即保留小數(shù)點(diǎn)后D位,而第D位的保留方式為四舍五入,然后將結(jié)果以字符串的形式返回。

LN(X)

返回X的自然對(duì)數(shù),即,X相對(duì)于基數(shù)e的對(duì)數(shù)。

mysql>SELECT LN(2);

-> 0.69314718055995

mysql>SELECT LN(-2);

-> NULL

這個(gè)函數(shù)同LOG(X)具有相同意義。

LOG(X) LOG(B,X)

若用一個(gè)參數(shù)調(diào)用,這個(gè)函數(shù)就會(huì)返回X的自然對(duì)數(shù)。

mysql>SELECT LOG(2);

-> 0.69314718055995

mysql>SELECT LOG(-2);

-> NULL

若用兩個(gè)參數(shù)進(jìn)行調(diào)用,這個(gè)函數(shù)會(huì)返回X對(duì)于任意基數(shù)B的對(duì)數(shù)。

mysql>SELECT LOG(2,65536);

-> 16

mysql>SELECT LOG(10,100);

-> 2

LOG(B,X)就相當(dāng)于LOG(X) / LOG(B)。

LOG2(X)

返回X的基數(shù)為2的對(duì)數(shù)。

mysql>SELECT LOG2(65536);

-> 16

mysql>SELECT LOG2(-100);

-> NULL

對(duì)于查出存儲(chǔ)一個(gè)數(shù)字需要多少個(gè)比特,LOG2()非常有效。這個(gè)函數(shù)相當(dāng)于表達(dá)式LOG(X) / LOG(2)。

LOG10(X)

返回X的基數(shù)為10的對(duì)數(shù)。

mysql>SELECT LOG10(2);

-> 0.30102999566398

mysql>SELECT LOG10(100);

-> 2

mysql>SELECT LOG10(-100);

-> NULL

LOG10(X)相當(dāng)于LOG(10,X)。

MOD(N,M) ,N%MNMODM

模操作。返回N被M除后的余數(shù)。

mysql>SELECT MOD(234, 10);

-> 4

mysql>SELECT 253 % 7;

-> 1

mysql>SELECT MOD(29,9);

-> 2

mysql>SELECT 29 MOD 9;

-> 2

這個(gè)函數(shù)支持使用BIGINT值。

MOD()對(duì)于帶有小數(shù)部分的數(shù)值也起作用, 它返回除法運(yùn)算后的精確余數(shù):

mysql>SELECT MOD(34.5,3);

-> 1.5

PI()

返回?(pi)的值。默認(rèn)的顯示小數(shù)位數(shù)是7位,然而MySQL內(nèi)部會(huì)使用完全雙精度值。

mysql>SELECT PI();

-> 3.141593

mysql>SELECT PI()+0.000000000000000000;

-> 3.141592653589793116

POW(X,Y) , POWER(X,Y)

返回X的Y乘方的結(jié)果值。

mysql>SELECT POW(2,2);

-> 4

mysql>SELECT POW(2,-2);

-> 0.25

RADIANS(X)

返回由度轉(zhuǎn)化為弧度的參數(shù)X, (注意?弧度等于180度)。

mysql>SELECT RADIANS(90);

-> 1.5707963267949

RAND() RAND(N)

返回一個(gè)隨機(jī)浮點(diǎn)值v,范圍在0到1之間(即,其范圍為0≤v≤1.0)。若已指定一個(gè)整數(shù)參數(shù)N,則它被用作種子值,用來產(chǎn)生重復(fù)序列。

mysql>SELECT RAND();

-> 0.9233482386203

mysql>SELECT RAND(20);

-> 0.15888261251047

mysql>SELECT RAND(20);

-> 0.15888261251047

mysql>SELECT RAND();

-> 0.63553050033332

mysql>SELECT RAND();

-> 0.70100469486881

mysql>SELECT RAND(20);

-> 0.15888261251047

若要在i≤R≤j這個(gè)范圍得到一個(gè)隨機(jī)整數(shù)R,需要用到表達(dá)式FLOOR(i+ RAND() * (j–i+ 1))。例如, 若要在7到12的范圍(包括7和12)內(nèi)得到一個(gè)隨機(jī)整數(shù),可使用以下語句:

SELECT FLOOR(7 + (RAND() * 6));

在ORDER BY語句中,不能使用一個(gè)帶有RAND()值的列,原因是ORDER BY會(huì)計(jì)算列的多重時(shí)間。然而,可按照如下的隨機(jī)順序檢索數(shù)據(jù)行:

mysql>SELECT * FROMtbl_nameORDER BY RAND();

ORDER BY RAND()同LIMIT的結(jié)合從一組列中選擇隨機(jī)樣本很有用:

mysql>SELECT * FROM table1, table2 WHERE a=b AND c<d

->ORDER BY RAND() LIMIT 1000;

注意,在WHERE語句中,WHERE每執(zhí)行一次,RAND()就會(huì)被再計(jì)算一次。

RAND()的作用不是作為一個(gè)精確的隨機(jī)發(fā)生器,而是一種用來發(fā)生在同樣的MySQL版本的平臺(tái)之間的可移動(dòng)ad hoc隨機(jī)數(shù)的快速方式。

ROUND(X) ROUND(X,D)

返回參數(shù)X,其值接近于最近似的整數(shù)。在有兩個(gè)參數(shù)的情況下,返回X,其值保留到小數(shù)點(diǎn)后D位,而第D位的保留方式為四舍五入。若要接保留X值小數(shù)點(diǎn)左邊的D位,可將D設(shè)為負(fù)值。

mysql>SELECT ROUND(-1.23);

-> -1

mysql>SELECT ROUND(-1.58);

-> -2

mysql>SELECT ROUND(1.58);

-> 2

mysql>SELECT ROUND(1.298, 1);

-> 1.3

mysql>SELECT ROUND(1.298, 0);

-> 1

mysql>SELECT ROUND(23.298, -1);

-> 20

返回值的類型同 第一個(gè)自變量相同(假設(shè)它是一個(gè)整數(shù)、雙精度數(shù)或小數(shù))。這意味著對(duì)于一個(gè)整數(shù)參數(shù),結(jié)果也是一個(gè)整數(shù)(無小數(shù)部分)。

當(dāng)?shù)谝粋€(gè)參數(shù)是十進(jìn)制常數(shù)時(shí),對(duì)于準(zhǔn)確值參數(shù),ROUND()使用精密數(shù)學(xué)題庫(kù):

對(duì)于準(zhǔn)確值數(shù)字, ROUND()使用“四舍五入” 或“舍入成最接近的數(shù)” 的規(guī)則:對(duì)于一個(gè)分?jǐn)?shù)部分為.5或大于.5的值,正數(shù)則上舍入到鄰近的整數(shù)值, 負(fù)數(shù)則下舍入臨近的整數(shù)值。(換言之,其舍入的方向是數(shù)軸上遠(yuǎn)離零的方向)。對(duì)于一個(gè)分?jǐn)?shù)部分小于.5的值,正數(shù)則下舍入下一個(gè)整數(shù)值,負(fù)數(shù)則下舍入鄰近的整數(shù)值,而正數(shù)則上舍入鄰近的整數(shù)值。對(duì)于近似值數(shù)字,其結(jié)果根據(jù)C庫(kù)而定。在很多系統(tǒng)中,這意味著ROUND()的使用遵循“舍入成最接近的偶數(shù)”的規(guī)則: 一個(gè)帶有任何小數(shù)部分的值會(huì)被舍入成最接近的偶數(shù)整數(shù)。

以下舉例說明舍入法對(duì)于精確值和近似值的不同之處:

mysql>SELECT ROUND(2.5), ROUND(25E-1);

+------------+--------------+| ROUND(2.5) | ROUND(25E-1) |+------------+--------------+| 3 | 2 |+------------+--------------+

SIGN(X)

返回參數(shù)作為-1、0或1的符號(hào),該符號(hào)取決于X的值為負(fù)、零或正。

mysql>SELECT SIGN(-32);

-> -1

mysql>SELECT SIGN(0);

-> 0

mysql>SELECT SIGN(234);

-> 1

SIN(X)

返回X正弦,其中X在弧度中被給定。

mysql>SELECT SIN(PI());

-> 1.2246063538224e-16

mysql>SELECT ROUND(SIN(PI()));

-> 0

SQRT(X)

返回非負(fù)數(shù)X的二次方根。

mysql>SELECT SQRT(4);

-> 2

mysql>SELECT SQRT(20);

-> 4.4721359549996

mysql>SELECT SQRT(-16);

-> NULL

TAN(X)

返回X的正切,其中X在弧度中被給定。

mysql>SELECT TAN(PI());

-> -1.2246063538224e-16

mysql>SELECT TAN(PI()+1);

-> 1.5574077246549

TRUNCATE(X,D)

返回被舍去至小數(shù)點(diǎn)后D位的數(shù)字X。若D的值為0,則結(jié)果不帶有小數(shù)點(diǎn)或不帶有小數(shù)部分??梢詫設(shè)為負(fù)數(shù),若要截去(歸零) X小數(shù)點(diǎn)左起第D位開始后面所有低位的值.

mysql>SELECT TRUNCATE(1.223,1);

-> 1.2

mysql>SELECT TRUNCATE(1.999,1);

-> 1.9

mysql>SELECT TRUNCATE(1.999,0);

-> 1

mysql>SELECT TRUNCATE(-1.999,1);

-> -1.9

mysql>SELECT TRUNCATE(122,-2);

-> 100

mysql>SELECT TRUNCATE(10.28*100,0);

-> 1028

所有數(shù)字的舍入方向都接近于零。

標(biāo)簽: MySQL 數(shù)據(jù)庫(kù)
相關(guān)文章:
主站蜘蛛池模板: 国产成人精品一区二三区2022 | 久久综合精品国产一区二区三区无 | 免费韩国一级毛片 | 爱久久精品国产 | 最新亚洲精品国自产在线观看 | 国产一区二区三区免费播放 | 亚州va| 欧洲一级鲁丝片免费 | a毛片全部播放免费视频完整18 | 正在播真实出轨炮对白 | 香蕉网站狼人久久五月亭亭 | 性福利视频 | 日韩美a一级毛片 | 外国成人网在线观看免费视频 | 一品道一本香蕉视频 | 久久夜色精品国产噜噜亚洲a | 韩国欧美一级毛片 | 国产精品黄 | 国自产精品手机在线视频香蕉 | 永久免费观看午夜视频在线 | 国产精品夜色视频一区二区 | 国产精品88 | 国产成人久视频免费 | 手机看片国产免费永久 | 欧美毛片大全 | 亚洲免费一 | 黄色三级国产 | 国产成人91高清精品免费 | 亚洲国产精品久久精品成人 | 日本视频免费在线播放 | 亚洲国产成人精品一区91 | 国产日韩在线观看视频 | 能直接看的一级欧美毛片 | 欧美在线视频免费 | 欧美亚洲激情视频 | 成人自拍小视频 | 成年人性网站 | 久久福利青草精品资源站免费 | 国产三级精品久久三级国专区 | 鲁大师成人精品视频 | 欧美在线一级视频 |