Trunc函数用法:
Trunc的意思的截平(truncate),在oracle中用来根据指定的方式截断日期或数字,举例如下:
截断日期时间:
其具体的语法格式如下:
TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
举例:
这里的dd可以是格式元素的任何一个如yyyy,mm,dd,hh24,mi,ss等。结果是截断指定的元素之后的所有数据并显示出最接近的日期或时间。多举几个例子来凑篇幅:
按月份截断,则显示月份的第一天。
按分钟截断,则秒为0。
截断数字
格式如下:
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。需要注意的是,和round函数不同,对截断的数字并不四舍五入。
举例如下:
Trunc的意思的截平(truncate),在oracle中用来根据指定的方式截断日期或数字,举例如下:
截断日期时间:
其具体的语法格式如下:
TRUNC(date[,fmt])
其中:
date 一个日期值
fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去
举例:
select to_char(trunc(sysdate,'dd'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual;
时间
-------------------
2008-08-28 00:00:00
这里的dd可以是格式元素的任何一个如yyyy,mm,dd,hh24,mi,ss等。结果是截断指定的元素之后的所有数据并显示出最接近的日期或时间。多举几个例子来凑篇幅:
按月份截断,则显示月份的第一天。
select to_char(trunc(sysdate,'mm'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual
时间
-------------------
2008-08-01 00:00:00
按分钟截断,则秒为0。
select to_char(trunc(sysdate,'mi'),'yyyy-mm-dd hh24:mi:ss') 时间 from dual
时间
-------------------
2008-08-28 13:03:00
截断数字
格式如下:
TRUNC(number[,decimals])
其中:
number 待做截取处理的数值
decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。需要注意的是,和round函数不同,对截断的数字并不四舍五入。
举例如下:
select trunc(1234.4678,-1) from dual
TRUNC(1234.4678,-1)
-------------------
1230
select trunc(1234.4678,2) from dual
TRUNC(1234.4678,2)
------------------
1234.46