oracle trunc用法

trunc函数
数值函数:值截断函数 trunc
1.trunc(数值1,n)
2.trunc(日期,‘截止日期单位’)
数值函数:值截断函数 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 11:00:00
 select trunc(sysdate, 'mi') from dual--返回当前分钟初始秒  2015/05/06 11:17:00
 --特殊情况
 select trunc(add_months(sysdate,-12), 'yy') from dual--返回当前年的第一天
 select trunc(sysdate, 'd') from dual--返回当前星期的第一天

猜你喜欢

转载自blog.csdn.net/qq_43632987/article/details/129922387