多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2

mysql教程

MySQL 數學函數

閱讀 (2223)

MySQL 數學函數 

所有的數學函數在發生錯誤的情況下,均返回 NULL


-元減。改變參數的符號
mysql> SELECT - 2; -> -2
注意,如果這個操作符被用于一個 BIGINT,返回值也是一個 BIGINT!這就意味著,應該避免在一個可能有值-2^63 的整數上使用 - 操作符!
ABS(X)返回 X 的絕對值:
mysql> SELECT ABS(2); -> 2 mysql> SELECT ABS(-32); -> 32
這個函數可安全地使用于 BIGINT 值。
SIGN(X)以 -10 或 1 方式返回參數的符號,它取決于參數 X 是負數、0 或正數。
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 mysql> SELECT 29 MOD 9; -> 2
這個函數可安全地使用于 BIGINT 值。最后一個示例可在 MySQL 4.1 中工作。
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)
ROUND(X,D)將參數 X 四舍五入到最近的整數,然后返回。兩個參數的形式是將一個數字四舍五入到 D 個小數后返回。
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
注意,當參數在兩個整數之間時, ROUND() 的行為取決于 C 庫的實現。某些取整到最近的偶數,總是向下取,總是向上取,也可能總是接近于零。如果你需要某種取整類型,應該使用一個明確定義的函數比如 TRUNCATE() 或 FLOOR() 代替。
DIV整除。類似于 FLOOR(),但是它可安全地用于 BIGINT 值。
mysql> SELECT 5 DIV 2 -> 2
DIV 在 MySQL 4.1.0 中新加入。
EXP(X)返回值 e (自然對數的底) 的 X 次方:
mysql> SELECT EXP(2); -> 7.389056 mysql> SELECT EXP(-2); -> 0.135335
LN(X)返回 X 的自然對數:
mysql> SELECT LN(2); -> 0.693147 mysql> SELECT LN(-2); -> NULL
這個函數在 MySQL 4.0.3 被新加入。在 MySQL 中,它是 LOG(X) 的同義詞。
LOG(X)
LOG(B,X)如果以一個參數調用,它返回 X 的自然對數:
mysql> SELECT LOG(2); -> 0.693147 mysql> SELECT LOG(-2); -> NULL
如果以兩個參數調用,這個函數返回 X 任意底 B 的對數:
mysql> SELECT LOG(2,65536); -> 16.000000 mysql> SELECT LOG(1,100); -> NULL
任意底選項在 MySQL 4.0.3 中被加入。LOG(B,X) 等價于 LOG(X)/LOG(B)
LOG2(X)返回 X 的以 2 為底的對數:
mysql> SELECT LOG2(65536); -> 16.000000 mysql> SELECT LOG2(-100); -> NULL
LOG2() 通常可以用于計數出一個數字需要多少個比特位用于存儲它。這個函數在 MySQL 4.0.3 中被添加。在更早的版本中,可以使用 LOG(X)/LOG(2) 來代替它。
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 值(圓周率)。缺少顯示 5 位小數,但是在 MySQL 內部,為 PI 使用全部的雙精度。
mysql> SELECT PI(); -> 3.141593 mysql> SELECT PI()+0.000000000000000000; -> 3.141592653589793116
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 的值。如果 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
ATAN(Y,X)
ATAN2(Y,X)返回兩個變量 X 和 Y 的反正切。它類似于計算 Y / X 的反正切,除了兩個參數的符號用于決定結果的象限:
mysql> SELECT ATAN(-2,2); -> -0.785398 mysql> SELECT ATAN2(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.9233482386203 mysql> SELECT RAND(20); -> 0.15888261251047 mysql> SELECT RAND(20); -> 0.15888261251047 mysql> SELECT RAND(); -> 0.63553050033332 mysql> SELECT RAND(); -> 0.70100469486881
在一個 ORDER BY 子句中,不可以使用 RAND() 值使用一個列,因為 ORDER BY 將多次重復計算列。從 MySQL 3.23 開始,你可以使用:SELECT * FROM table_name ORDER BY RAND(),這有利于得到一個來自 SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000 的集合中的隨機樣本。 注意,在一個 WHERE 子句中的 RAND() 將在每次 WHERE 執行時被重新計算。 RAND() 并不是預期完美的隨機數發生器,但是可以代替做為產生特別的隨機數一個快速的方法,這樣便于在兩個不同平臺下的同一 MySQL 版本間移動。
LEAST(X,Y,...)
有兩個或更多個參數,返回最小(最小值)的參數。參數使用下列規則進行比較:
  • 如果返回值用于一個 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 mysql> SELECT TRUNCATE(-1.999,1); -> -1.9
從 MySQL 3.23.51 開始,所有數字被四舍五入到零。 如果 D 是負數,那么數字的整個部分被對準零位輸出:
mysql> SELECT TRUNCATE(122,-2); -> 100
注意,十進值小數在計算機中通常不以精確數字存儲,而是雙精度型的值,你可能會被下列結果所愚弄:
mysql> SELECT TRUNCATE(10.28*100,0); -> 1027
上面結果的發生是因為 10.28 實際上是以某些像 10.2799999999999999 的形式被存儲的。
關閉
程序員人生
主站蜘蛛池模板: 欧美性xxxx | 日本欧美一区二区三区视频 | 国产成人久久精品一区二区三区 | 亚洲 欧美 日韩 综合aⅴ视频 | julia一区福利视频在线观看 | 中文乱码精品一区二区三区 | 一级一级特黄女人精品毛片视频 | 中文字幕乱码二三区免费 | 日韩3区| 久久久久无码国产精品一区 | 欧美xxxx另类 | 国产精品日韩欧美亚洲另类 | 成人老司机深夜福利久久 | 另类图片另类小说 | 日韩精品在线一区 | 国产日韩欧美亚洲 | 国产精品日韩欧美一区二区三区 | 欧美日韩乱国产 | 99视频精品全部在线播放 | 亚洲一区二区三区在线 | 最近的中文字幕在线看 | a级片毛片 | 免费人成毛片乱码 | 亚洲午夜在线观看 | 蜜桃色永久入口 | 综合网自拍 | 国产精品自拍一区 | 欧美视频在线免费 | 91久久精品国产91性色tv | 成人免费视频一区 | 欧美 自拍偷拍 | 亚洲三级在线视频 | 日本护士xxxx视频免费 | 亚洲免费在线视频播放 | 手机看片地址 | 在线影院福利 | a级毛片黄片| 亚洲精品久久99久久一区 | 中文字幕 亚洲 一区二区三区 | 免费精品 | 亚洲一区二区三区不卡视频 |