函数:MySQL中取整函数round和floor
示例:
round(123.456,2)
------------
123.47
ROUND ( numeric_expr
参数
numeric_expr
精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。
length
是 numeric_expr
function
是要执行的操作类型。function 必须是 tinyint、smallint 或 int。如果省略 function 或 function 的值为 0(默认),numeric_expr
round(123.456, 0)
-------
123.000
SELECT FLOOR(123.45), FLOOR(-123.45), FLOOR($123.45)
--------- --------- -----------
123 -124 123.0000
SELECT CEILING(123.45), CEILING(-123.45), CEILING(0.0)
以下為結果集:
--------- --------- -------------------------
124 -123 0
///////////////////////////////////////////////////////////
ORACLE的TRUNC包罗万象,DB2的TRUNC只是给数字用的。但象DATE等都能实现。比如,DATE(A TIMESTAMP FIELD)会把TIMESTAMP后面的都拿掉,成了一个PURE DATE,就象ORACLE的TRUNC(SYSDATE)会把后面的时间拿掉一样。
SQL> select trunc(2345.6789,2) from dual;
TRUNC(2345.6789,2)
------------------
2345.67
/home/db2inst > db2 -v "select decimal(2345.6789,10,2) from sysibm.sysdummy1"
select decimal(2345.6789,10,2) from sysibm.sysdummy1
1
------------
2345.67
1 record(s) selected.