Oracle使用函数取得小数的整数部分


 Trunc 函数 (for date)

  用法一(for date):

  为指定元素而截去的日期值。

  语法如下:

  TRUNC(date,[fmt])

  参数分析:

  date

  一个日期值。

  fmt

  日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截。

  不多说了,直接看示例吧!看完你就会明白。

  示例:

  以今天为例,今天是2010年9月10日。(刚刚好今天是教师节,在这里祝老师们节日快乐哦!)

  SELECT trunc(sysdate,'mm')FROM dual

  返回2010-9-01(也就是说返回当月的第一天)  SELECT trunc(sysdate,'yy')FROM dual

  返回2010-1-1     当年第一天   SELECT trunc(sysdate,'dd')FROM dual

  返回2010-9-10   当天   SELECT trunc(sysdate,'day')FROM dual

  返回2010-9-5    当周第一天   SELECT trunc(sysdate)FROM dual

  返回2010-9-10   不填fmt参数就默认是当天

  PS:

  trunc(sysdate)输出的格式为YYYY-MM-DD,但它是把时间四舍五入到了当日的零点, 也就是:

  SELECT to_char(trunc(sysdate),'YYYY-MM-DD HH24:mi:ss') FROM dual  返回2010-09-10 00:00:00

  ++查看更多oracle转换字符函数 <http://www.syranmo.com/2010/09/09/oracle-ecimal-trunc/>

  用法二(for number):

  TRUNC函数返回处理后的数值,其原理跟ROUND函数很类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,

  而是

  全部都截去。

  语法如下:

  1TRUNC(number,[decimals])

  参数分析:

  number

  准备做截取处理的数值。

  decimals

  指明需保留小数点后面的位数。(注:可选项,忽略它则截去所有的小数部分)

  第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去

  示例:

  SELECT TRUNC(88.876,2) FROM dual

  返回88.87  SELECT TRUNC(88.876) FROM dual

  返回88  SELECT TRUNC(88.876,-1) FROM dual

  返回80


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3