oracle之trunc与round

round(x[,y]) 
功能:返回四舍五入后的值 
参数:x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。 
返回:数字 
示例 :select round(5555.6666,2.1),round(5555.6666,-2.6),round(5555.6666) from dual; 
返回: 5555.67 , 5600 , 5556



trunc(x[,y]) 
功能:返回x按精度y截取后的值 
参数:x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示。 
返回:数字 
示例: select trunc(5555.66666,2.1),trunc(5555.66666,-2.6),trunc(5555.033333) from dual; 
返回:5555.66   5500   5555

时间: 2024-11-09 09:47:12

oracle之trunc与round的相关文章

Oracle的trunc和dbms_random.value随机取n条数据

今天在review项目代码的时候看到这样一个问题,有一张号码表,每次需要从这样表中随机取6个空闲的号码,也就是每次取出来的6个号码应该都会有所不同.然后我就看到了这样的SQL select   t.*     from   tel_number_tbl t    where   t.status = '空闲'      and   t.area_code = '0571'      and   t.delete_flg = '未删除'      and   rownum <= 6order by

【测试】trunc和round的区别

trunc是截断:round是四舍五入:下面通过一个例子具体看一下trunc和round的不同 SQL> select trunc(45.923,2),trunc(45.923),trunc(45.923,-1) 2 from dual; TRUNC(45.923,2) TRUNC(45.923) TRUNC(45.923,-1) --------------- ------------- ---------------- 45.92 45 40 SQL> select round(45.92

Oracle中trunc函数、round 函数、ceil函数和floor函数的使用

1.1trunc函数处理数字 trunc函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去. 其具体的语法格式如下 TRUNC(number[,decimals]) 其中: number 待做截取处理的数值 decimals 指明需保留小数点后面的位数.可选项,忽略它则截去所有的小数部分. 1 select trunc(123.98)from dual; 2 select trunc(123.123,2)from dual;

oracle中的turnc,round,floor,ceil函数

这四个函数有点类似java中的函数,首先是 trunc(number,[decimals]) 这个函数类似截取函数 number:表示你要输入的数 decimals(小数): 表示你要截取的位数[正数表示小数点向右保留多少位,负数向左依次置零且小数点右边的截断] eg: select trunc(35.34,1) from dual; result: 35.3 select trunc(35.34,3) from dual; result:35.34 select trunc(35.34,-1)

trunc与round

TRUNC(number[,num_digits]) number 需要截尾取整的数字. num_digits 用于指定取整精度的数字.Num_digits 的默认值为 0. 作用:截断数字和时间 注意 TRUNC()函数截取时不进行四舍五入 只能作用时间和数字 测试: 作用于时间 select trunc(sysdate) from dual; --2017/11/7 今天的日期为2017-11-07 select trunc(sysdate, 'mm') from dual; --2017/

oracle之trunc(sysdate)

--截取后得到的仍为date数据类型 select trunc(sysdate) from dual;--2017-03-13 00:00:00select trunc(sysdate+1) from dual;--2017-03-14 00:00:00 加一天 select trunc(sysdate,'yyyy') from dual;--2017-01-01 00:00:00select trunc(sysdate,'MM') from dual;--2017-03-01 00:00:00

【小计】PostgreSQL实现Oracle的trunc日期函数功能

create or replace function trunc(p_timestamp timestamp with time zone, p_formart varchar default 'DD')  returns timestamp without time zone as $$ declare  v_timestamp timestamp := null;  v_formart varchar(10) := upper(p_formart); begin  /*  * 函数功能:对日

Oracle之trunc函数使用

trunc(d1[,c1])  返回日期d1所在期间(参数c1)的第一天日期 d1日期型,c1为字符型(参数),c1默认为j(即当前日期) c1对应的参数表: 本周星期日:day或dy或d (每周顺序:日,一,二,三,四,五,六) 本月初日期:month或mon或mm或rm 本季日期:q 本年初日期:syear或year或yyyy或yyy或yy或y(多个y表示精度) 本世纪初日期:cc或scc [返回]:日期select sysdate from dual --当时日期 select trunc

oracle之TRUNC函数

TRUNC(number,num_digits) Number 需要截尾取整的数字. Num_digits 用于指定取整精度的数字.Num_digits 的默认值为 0.如果Num_digits为正数,则截取小数点后Num_digits位:如果为负数,则先保留整数部分,然后从个位开始向前数,并将遇到的数字都变为0.TRUNC()函数在截取时不进行四舍五入,直接截取. 针对数字的案例,如: select trunc(123.458) from dual --123 select trunc(123