欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oracle数据库trunc函数,取整 博客分类: 数据库 数据库数值取整truncoracle数据值 

程序员文章站 2024-03-16 17:15:10
...

 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