--Oracle trunc()函数的用法主要有两种:做日期处理;做数字处理
********************日期********************
1.select trunc(sysdate) from dual --2012-7-18 今天的日期为2011-3-18
2.select trunc(sysdate, 'mm') from dual --2012-7-1 返回当月第一天.
3.select trunc(sysdate,'yy') from dual --2012-1-1 返回当年第一天
4.select trunc(sysdate,'dd') from dual --2012-7-18 返回当前年月日
5.select trunc(sysdate,'yyyy') from dual --2012-1-1 返回当年第一天
6.select trunc(sysdate,'d') from dual --2012-7-16 (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual --2012-7-18 14:50:00 当前时间为14:41
8.select trunc(sysdate, 'mi') from dual --2012-7-18 14:53:00 TRUNC()函数没有秒的精确
********************数字********************
/*
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为0。
TRUNC()函数截取时不进行四舍五入
*/
/*与之对应的round()函数在数字处理上和trunc相似,但是round()函数是 四舍五入的*/
1.select trunc(123.456) from dual --123
2.select trunc(123.456,0) from dual --123
3.select trunc(123.456,1) from dual --123.4
4.select trunc(123.456,-1) from dual --120
5.select trunc(123.456,-4) from dual --0
6.select trunc(123.456,4) from dual --123.456
7.select trunc(123) from dual --123
8.select trunc(123,1) from dual --123
9.select trunc(123,-1) from dual --120
/*这里是round函数的相关结果,供各位比较*/
ROUND(1234.5678,4) -- 1234.5678
ROUND(1234.5678,3) -- 1234.568
ROUND(1234.5678,2) -- 1234.57
ROUND(1234.5678,1) -- 1234.6
ROUND(1234.5678,0) -- 1234
ROUND(1234.5678,-1) -- 1230
ROUND(1234.5678,-2) -- 1200
ROUND(1234.5678,-3) -- 1000