函數表示對輸入參數值返回-一個具有特定關係的值,MySQL提供了大量豐富的函數,在進行資料庫管理以及數據的查詢和操作時將會經常用到各種函數。通過對數據的處理,資料庫功能可以變得更加強大,更加靈活地滿足不同用戶的需求。各類函數從功能方面主要分為以下幾類:數學函數、字符串函數、日期和時間函數、條件判斷函數、系統信息函數和加密函數等。
今天咱們就來介紹一下MySQL的數學函數。
數學函數主要用來處理數值數據,主要的數學函數有:絕對值函數、三角函數(包括正弦函數、餘弦函數、正切函數、餘切函數等)、對數函數、隨機數函數等。在有錯誤產生時,數學函數將會返回空值NULL。
絕對值 函數ABS(x)和返回圓周率的函數PI()
ABS(X)返回X的絕對值
求2, -3.3 和-33的絕對值,輸入語句如下:
正數的絕對值為其本身,2的絕對值為2;負數的絕對值為其相反數, -3.3 的絕對值為3.3; -33的絕對值為33。
PI()返回圓周率π的值。默認的顯示小數位數是6位。.
返回圓周率值,輸入語句如下:
返回結果保留了7位有效數字。
平方根函數SQRT(x)和求餘函數MOD(x,y)
SQRT(x)返回非負數x的二次方根。
求9,40和-49的二次平方根,輸入語句如下:
3的平方等於9,因此9的二次平方根為3; 40 的平方根為6.324555320336759;而負數沒有平方根,因此-49返回的結果為NULL。
MOD(x,y)返回x被y除後的餘數,MOD0對於帶有小數部分的數值也起作用,它返回除法運算後的精確餘數。
對MOD(31,8),MOD(234, 10),MOD(45.5,6)進行求餘運算, 輸入語句如下:
獲取整數的函數CEIL(x)、CEILING(x)和 FLOOR(x)
CEIL(x)和CEILING(x)意 義相同,返回不小於x的最小整數值,返回值轉化為一個BIGINT。
使用CEILING函數返回最小整數,輸入語句如下:
-3.35為負數,不小於-3.35 的最小整數為-3,因此返回值為-3;不小於3.35的最小整數為4,因此返回值為4。
FLOOR(x)返回不大於x的最大整數值,返回值轉化為一個BIGINT.
使用FLOOR函數返回最大整數,輸入語句如下:
-3.35 為負數,不大於-3.35 的最大整數為-4,因此返回值為-4;不大於3.35的最大整數為3,因此返回值為3。
獲取隨機數的函數RAND()和RAND(x)
RAND(x)返回一個隨機浮點值v,範圍在0到1之間(即0≤v≤1.0)。 若已指定一個整數參數x,則它被用作種子值,用來產生重複序列。
使用RAND(函數產生隨機數,輸入語句如下:
可以看到,不帶參數的RAND0每次產生的隨機數值是不同的。
使用RAND(x)函數產生隨機數,輸入語句如下:
可以看到,當RAND(x)的參數相同時,將產生相同的隨機數,不同的x產生的隨機數值不同。
函數ROUND(x)、ROUND(x,y)和 TRUNCATE(x,y)
ROUND(x)返回最接近於參數x的整數,對x值進行四捨五入。
使用ROUND(x)函數對操作數進行四捨五入操作,輸入語句如下:
可以看到,四捨五入處理之後,只保留了各個值的整數部分。
ROUND(x,y)返回最接近於參數x的數,其值保留到小數點後面y位,若y為負值,則將保留x值到小數點左邊y位。
使用ROUND(x,y)函數對操作數進行四捨五入操作,結果保留小數點後面指定y位,輸入語句如下:
ROUND(1.38, 1)保留小數點後面1位,四捨五入的結果為1.4; ROUND(1.38, 0)保留小數點後面0位,即返回四捨五入後的整數值; ROUND(232.38, -1)和ROUND (232.38, 2)分別保留小數點左邊1位和2位。
TRUNCATE(x,y)返回被捨去至小數點後y位的數字x。若y的值為0, 則結果不帶有小數點或不帶有小數部分。若y設為負數,則截去(歸零) x小數點左起第y位開始後面所有低位的值。
使用TRUNCATE(x,y)函數對操作數進行截取操作,結果保留小數點後面指定y位,輸入語句如下:
TRUNCATE(1.31,1)和TRUNCATE(1.99,1)都保留小數點後1位數字,返回值分別為1.3 和1.9; TRUNCATE(1.99,0)返回整數部分值1; TRUNCATE(19.99,-1)截去 小數點左邊第1位後面的值,並將整數部分的1位數字置0,結果為10。
正弦函數SIN(x)和反正弦函數ASIN(x)
SIN(x)返回x正弦,其中x為弧度值。
使用SIN函數計算正弦值,輸入語句如下:
ASIN(x)返回x的反正弦,即正弦為x的值。若x不在-1到1的範圍之內,則返回NULL.
使用ASIN函數計算反正弦值,輸入語句如下:
由結果可以看到,函數ASIN和SIN互為反函數; ASIN(3)中的 參數3超出了正弦值的範
圍,因此返回NULL。
餘弦函數COS(x)和反餘弦函數ACOS(x)
COS(x)返回x的餘弦,其中x為弧度值。
使用COS函數計算餘弦值,輸入語句如下:
由結果可以看到,COS(0)值為1; COS(PI0)值為-1; COS(1)值為 0.540302305868 1398。
ACOS(x)返回x的反餘弦,即餘弦是x的值。若x不在-1~1的範圍之內,則返回NULL。
使用ACOS函數計算反餘弦值,輸入語句如下:
由結果可以看到,函數ACOS和COS互為反函數。
正切函數、反正切函數和餘切函數
TAN(x)返回x的正切,其中x為給定的弧度值。
使用TAN函數計算正切值,輸入語句如下:
ATAN(x)返回x的反正切,即正切為x的值。
使用ATAN函數計算反正切值,輸入語句如下:
由結果可以看到,函數ATAN和TAN互為反函數。
COT(x)返回x的餘切。
使用COTO函數計算餘切值,輸入語句如下,
由結果可以看到,函數COT和TAN互為倒函數。
這就是今天為大家整理的MySQL基礎的數學函數,先由基礎出發,後續咱們會帶來更深入的學習內容。
喜歡請多多點讚評論分享,關注小編,你們的支持就是小編最大的動力~~~