数值函数:值截断函数 trunc

trunc在oracle中有两种用法:

1.trunc(数值1,n)

将列或表达式所表示的数值截取到小数点后的第n位
a.若n=0,则相当于只保留整数部分
b.若n<0, 则相当于截取到小数点前的第n位
(若无法理解可以用下面的例题辅助理解)


以下为trunc第一种用法的所有情况使用
 select trunc(25.569,2) from dual--25.56
 select trunc(25.569,4) from dual--25.569
 select trunc(25.569,0) from dual--25
 select trunc(25.569) from dual--25
 select trunc(25.569,-1) from dual-20
 select trunc(25.569, -2) from dual--0
 select trunc(25.569,-3) from dual--0
 select trunc(25.569,-9) from dual --0
 select trunc(215.569,-2) from dual--200
 select trunc(123.458,4) from dual--123.458  不知道为啥,老是在这里错掉
 
 

2.trunc(日期,‘截止日期单位’)

 select sysdate from dual--显示2015/05/06 11:17:25
 select trunc(sysdate) from dual--返回当前的日期,默认后面为dd   显示2015/05/06
 select trunc(sysdate,'yy') from dual--返回当前年份的第一天,yy与yyyy相同  显示2015/01/01
 select trunc(sysdate,'mm') from dual--返回当前月份的第一天 显示 2015/05/01
 select trunc(sysdate,'dd') from dual--  2015/05/06 (并不显示其他时间单位)
 select trunc(sysdate, 'hh') from dual--返回当前小时的初始值 显示 2015/05/06 110000
 select trunc(sysdate, 'mi') from dual--返回当前分钟初始秒  2015/05/06 111700
 --特殊情况
 select trunc(add_months(sysdate,-12), 'yy') from dual--返回当前年的第一天
 select trunc(sysdate, 'd') from dual--返回当前星期的第一天

以上为trunc的部分用法,关于时期的其他情况,比如返回上一个星期的第三天,返回上一个月的第三个星期之类的情况,将在日后博客中展现,谢谢阅读。记得点赞关注加收藏哦

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐