|
多说无益,看看实际研究结果:/*TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。其具体的语法格式如下TRUNC(number[,decimals])其中:number 待做截取处理的数值decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分*/select floor(235.678),ceil(235.678),abs(235.678),trunc(235.678), trunc(235.678,0) ,trunc(235.678,1) ,trunc(235.678,2) ,trunc(235.678,3) ,trunc(235.678,4) ,trunc(235.678,-1) ,trunc(235.678,-2) ,trunc(235.678,-3) from dual t
查询结果:
FLOOR(235.678)
CEIL(235.678)
ABS(235.678)
TRUNC(235.678)
TRUNC(235.678,0)
TRUNC(235.678,1)
TRUNC(235.678,2)
TRUNC(235.678,3)
TRUNC(235.678,4)
TRUNC(235.678,-1)
TRUNC(235.678,-2)
TRUNC(235.678,-3)
235
236
235.678
235
235
235.6
235.67
235.678
235.678
230
200
0
/*TRUNC函数为指定元素而截去的日期值。其具体的语法格式如下:TRUNC(date[,fmt])其中:date 一个日期值fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去SELECT trunc(sysdate,'mm')FROM dual 返回当月的第一天 SELECT trunc(sysdate,'yyyy')FROM dual 返回当年第一天SELECT trunc(sysdate,'yy')FROM dual 返回当年第一天 SELECT trunc(sysdate,'dd')FROM dual 返回当天 SELECT trunc(sysdate,'day')FROM dual 返回当周第一天 SELECT trunc(sysdate)FROM dual 返回当天*/select sysdate,trunc(sysdate,'yyyy') ,trunc(sysdate,'yy'),trunc(sysdate,'mm'),trunc(sysdate,'dd'),trunc(sysdate,'d'),trunc(sysdate,'hh'),trunc(sysdate,'day')from dual a
查询结果:
SYSDATETRUNC(SYSDATE,'YYYY')TRUNC(SYSDATE,'YY')TRUNC(SYSDATE,'MM')TRUNC(SYSDATE,'DD')TRUNC(SYSDATE,'D')TRUNC(SYSDATE,'HH')TRUNC(SYSDATE,'DAY')2012-3-7 13:34:062012-1-12012-1-12012-3-12012-3-72012-3-42012-3-7 13:00:002012-3-4 |
|