mysql數據庫中的四種函數?ROUND 函數用于把數值字段舍入為指定的小數位數,我來為大家講解一下關于mysql數據庫中的四種函數?跟着小編一起來看一看吧!
ROUND 函數用于把數值字段舍入為指定的小數位數。
mysql中語法(四舍五入):
ROUND(column_name,decimals)
#column_name: 必需。要舍入的字段。
#decimals:可選。規定要返回的小數位數,不填時默認取整數。
案例:
select round (1.56) ===> 2
select round (1.46) ===> 1
select round (1.56,1) ===> 1.6
sql中語法:
ROUND ( e-xpression , length [ , function ] )
#e-xpression:必需。要舍入的字段。
# length:
當 length 為正數時,e-xpression 四舍五入為 length 所指定的小數位數。
當 length 為負數時,e-xpression 則按 length 所指定的在小數點的左邊四舍五入。
#function:function是要執行的操作類型。如果省略 function 或 function 的值為 0(默認),e-xpression 将四舍五入。當指定 0 以外的值時,将截斷 e-xpression。
注釋ROUND 始終返回一個值。如果 length 是負數且大于小數點前的數字個數,ROUND 将返回 0。
案例:
select round (1.56,1) ===> 1.6
select round (11.56,-1) ===> 10
select round (11.56,1,0) ===> 1.6
select round (11.56,1,1) ===> 1.5
ceil()函數mysql: ceil(value)
sql: ceiling(value)
函數返回大于等于指定值(value)的最小整數,取整,沒有四舍五入這一說法(向上取整,返回>=該參數的最小整數)
案例:
select ceil(1.56)===> 2
select ceil(-1.56)===> -1
floor()函數floor(value)
函數返回小于或等于指定值(value)的最小整數,取整,沒有四舍五入這一說法(向下取整,返回<=該參數的最大整數)
案例:
select floor(1.56)===> 1
select floor(-1.56)===> -2
truncate()函數#SQL中無此數學函數(SQL中此函數用來清空表數據)
TRUNCATE(X,D)
其中,X是數值,D是保留小數的位數。
其作用就是按照小數位數,進行數值截取(此處的截取是按保留位數直接進行截取,沒有四舍五入)。
數值保留規則
規則如下:
1)當 D 大于0,是對數值 X 的小數位數進行操作;
2)當 D 等于0,是将數值 X 的小數部分去除,隻保留整數部分;
3)當 D 小于0,是将數值 X 的小數部分去除,并将整數部分按照 D 指定位數,用 0 替換。
案例:
SELECT TRUNCATE(123.4567, 3); ===> 123.456
SELECT TRUNCATE(123.4567, 2); ===> 123.45
SELECT TRUNCATE(123.4567, 1); ===> 123.4
SELECT TRUNCATE(123.4567, 0); ===> 123
SELECT TRUNCATE(123.4567, -1); ===> 120
SELECT TRUNCATE(123.4567, -2); ===> 100
SELECT TRUNCATE(123.4567, -3); ===> 0
mod()函數mod(x,y)
返回 x 被 y 除後的餘數
#SQL中無此數學函數(SQL中此函數用來清空表數據),使用%來取餘 例如:5%2 =1
可以用下述公式理解(尤其當x,y 為負數時)
mod(x,y) : x-x/y*y
例:mod(-10,-3) :( -10)-(-10)/(-3)*(-3)=(-10)-(3)*(-3)=(-10)-(-9)=-1
案例:
mod(5,2) ===> 1
mod(5.36,2) ===> 1.36
mod(-10,-3)===> -1
mod(-10,3)===> -1
mod(10,-3)===> 1
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!