sql取整的函数

SQL取整操作2009年04月02日 星期四 10:01以前有记录过这个方法的使用说明,不过今天再用的时候还是忘记了,其实平时用的取整操作有几种情况,一种是单纯的取整,不管小数点后面是什么全部舍去比如12.21或者12.68都是12,这样就用floor(12.21),里面的参数可以是表达式、可以是数字、可以是变量;另外就是有不同限制的取整操作,如需要四舍五入并且小数点后面保留多少有效位的话就是round函数了,完全的写法是:
ROUND ( numeric_expression , length [ , function ] ) 
参数 
numeric_expression 
精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。 
length 
是 numeric_expression 将要四舍五入的精度。length 必须是 tinyint、smallint 或int。当 length 为正数时,numeric_expression 四舍五入为 length 所指定的小数位数。当 length 为负数时,numeric_expression 则按 length 所指定的在小数点的左边四舍五入。 
function 
是要执行的操作类型。function 必须是 tinyint、smallint 或 int。如果省略 function 或 function 的值为 0(默认),numeric_expression 将四舍五入。当指定 0 以外的值时,将截断 numeric_expression。   
例:
SELECT ROUND(150.75, 0)
151.00
SELECT ROUND(150.75, 0, 1)
150.00

默认不加参数的话和第一个例子一样,默认四舍五入。


SQL中的取整函数FLOOR、ROUND、CEIL、TRUNC、SIGN(2009-12-29 17:13:12) 
标签:整函数fromabs小数点绝对值教育 分类:SQL 
1 trunc(value,precision)按精度(precision)截取某个数字,不进行舍入操作。
2 round(value,precision)根据给定的精度(precision)输入数值。
3 ceil (value) 产生大于或等于指定值(value)的最小整数。
4 floor(value)与 ceil()相反,产生小于或等于指定值(value)的最小整数。
5 sign(value) 与绝对值函数ABS()相反。ABS()给出的是值的量而不是其符号,sign(value)则给出值的符号而不是量。


1,返回大于或等于x的最大整数:
SQL> select ceil(23.33) from dual;


CEIL(23.33)
-----------
24


2,返回等于或小于x的最大整数:
SQL> select floor(23.33) from dual;


FLOOR(23.33)
------------
23


3,返回舍入到小数点右边y位的x值:rcund(x,[y])
SQL> select round(23.33) from dual;


ROUND(23.33)
------------
23


4,返回截尾到y位小数的x值:trunc(x,[y])
SQL> select trunc(23.33) from dual;


TRUNC(23.33)
------------
23


5,返回x的符号
SQL> select sign(-23.33) from dual;


SIGN(-23.33)
------------
-1

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。