oracle -- trunc

trunc 的用法 ,收集一下

 

一、用于date类型 

SELECT trunc(sysdate,'mm')FROM dual 返回当月的第一天 
SELECT trunc(sysdate,'yy'||'yyyy')FROM dual 返回当年第一天 
SELECT trunc(sysdate,'day'||'d')FROM dual 返回当周第一天 
SELECT trunc(sysdate,'dd')FROM dual 返回当天 
SELECT trunc(sysdate)FROM dual 返回当天 


二、用于number类型 

select trunc(1.1415926) from dual --截掉小数部分 
select trunc(1.1415926,2) from dual --保留两位小数(不做四舍五入处理) 
select trunc(1.1415926,-1) from dual --返回零 截取整数部分第一位,并以零代替 

 注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推;如果所设置的参数为负数,且负数的位数大于或等于整数的字节数的话,则返回为0。如:TRUNC(89.985,-3)=0,TRUNC(89.985,-2)=0,TRUNC(89.985,-1)=80. 

三、数据格式化(与trunc无关*——*) 
现象:统计数据库中的某一列的和,假设这一列为 amount varchar2(16), 
select sum(column1) from table where ... 

问题: 

当累计的和超过15位时,sum出来的值不准确。比%

猜你喜欢

转载自wumaodan.iteye.com/blog/2092696