trunc

TRUNC函数,该函数的意思就是单词TRUNCATE的意思“截取”,分为截取日期类型和截取数字类型。分别介绍如下:

  1,截取数字类型,TRUNC(for number) 。

  TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。其具体的语法格式如下:TRUNC(number[,decimals])

  该函数的用法中:number 待做截取处理的数值,decimals 指明需保留小数点后面的位数。 可选项,忽略它则截去所有的小数部分。举例如下,

TRUNC(56.789,2)= 56.78  截取小数点后2位小数;
TRUNC(56.789)=56  截取整数部分,默认截取0位小数;
TRUNC(56.789,-1)=50  心爱那个小数点之前截取一位,把个位截取变成零,结果变成了50。

  可以看出,TRUNC函数的可选参数可以取到负数,代表向前取到哪位。上面的例子中参数值为-1,取到的结果是50,即取到十位。

2,截取日期类型,TRUNC(for dates)

  TRUNC函数为指定元素而截去的日期值。其具体的语法格式如下:TRUNC(date[,fmt])

  该函数的用法中:date 一个日期值,fmt 日期格式该日期将由指定的元素格式 所截去。忽略它则由最近的日期 截去。 举例如下:

TRUNC(TO_DATE('2010-10-20 08:00 pm','yyyy-mm-dd hh:mi am') ) ='2010-10-20 12:00:00 am' ;
TRUNC(TO_DATE('2010-10-20 08:37 pm','yyyy-mm-dd hh:mi am') ,'hh') ='2010-10-20 08:00:00 am' ;
trunc(sysdate,'yyyy') --返回当年第一天;
trunc(sysdate,'mm') --返回当月第一天;
trunc(sysdate,'d') --返回当前星期的第一天;
trunc(sysdate,'dd') --返回当前年月日;

  TRUNC函数的具体用法和取到的值我现在也不慎清除,主要是因为日期的样式非常复杂,在进行格式转换和截取的过程中是否有特殊情况呢?如果你有清楚的认识请回复一下,我也会继续学习和进行完善。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值