select round(630.67,1),round(630.67,-2),round(630.67,-3),round(630.67,0);
其中的1,-2,-3,0表示什么意思?
select round(630.67,1),round(630.67,-2),round(630.67,-3),round(630.67,0);
其中的1,-2,-3,0表示什么意思?
round()函数:返回与参数最接近的整数。如果有多个这样的数,将返回最接近正无穷的那个数
而round ( numeric_expression, length [ , function ] )返回一个舍入到指定长度或精度的数字表达式。
精确数字或近似数字数据类型类别的表达式,或者可以隐式转换为 float 数据类型的表达式。
numeric_expression 舍入到的精度。当 length 为正数时,numeric_expression 舍入到 length 所指定的小数位数。当 length 为负数时,将按照 length 所指定的数值,在小数点左则对 numeric_expression 进行舍入。
要执行的运算类型。当省略 function 或使用值 0(默认)时,将对 numeric_expression 进行舍入。当指定非 0 值时,将对 numeric_expression 进行截断。
round(630.67,-3)中-3:这个执行会报个异常---在执行批处理时出现错误。错误消息为: 算术溢出。
round(630.67,0)中0 :表示精确到小数点前第0位了、即去小数了,后面四舍5入了。
Oracle Round 函数 (四舍五入) 描述 : 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果。 SELECt ROUND( number, [ decimal_places ] ) FROM DUAL 参数: number : 欲处理之数值 decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 ) Sample : select round(123.456, 0) from dual; 回传 123 select round(123.456, 1) from dual; 回传 123.5 select round(123.456, 2) from dual; 回传 123.46 select round(123.456, 3) from dual; 回传 123.456 select round(-123.456, 2) from dual; 回传 -123.46
看看是否能够帮到您!
1表示取小数点后一位,后面一位四舍五入
-2表示取小数点2位前,第二位就四舍五入
后面的都一样了