1. 程式人生 > >Oracle trunc()函式的用法

Oracle trunc()函式的用法

TRUNC()

將數字的小數部分截去,返回整數。
語法
TRUNC(number,num_digits)
Number 需要截尾取整的數字。
Num_digits 用於指定取整精度的數字。Num_digits 的預設值為 0。
說明
函式 TRUNC 和函式 INT 類似,都返回整數。函式 TRUNC 直接去除數字的小數部分,而函式 INT 則是向下舍入到最接近的整數。函式 INT 和函式 TRUNC 在處理負數時有所不同:
=TRUNC(-5.6) 結果是其整數部分(-5)
=INT(-5.6) 結果是其四捨五入後的整數部分(-6)
1.TRUNC(for dates)
TRUNC函式為指定元素而截去的日期值。
其具體的語法格式如下:


TRUNC(date[,fmt])
其中:
date 一個日期值
fmt 日期格式,該日期將由指定的元素格式所截去。忽略它則由最近的日期截去

/**************日期********************/

1.select trunc(sysdate) from dual  --2014-3-18  今天的日期為2014-3-18
2.select trunc(sysdate, 'mm')   from   dual  --2014-3-1    返回當月第一天.
3.select trunc(sysdate,'yy') from dual  --2014-1-1       返回當年第一天
4.select trunc(sysdate,'dd') from dual
  --2014-3-18    返回當前年月日
5.select trunc(sysdate,'yyyy') from dual  --2014-1-1   返回當年第一天
6.select trunc(sysdate,'d') from dual  --2014-3-13 (星期天)返回當前星期的第一天
7.select trunc(sysdate, 'hh') from dual   --2014-3-18 14:00:00   當前時間為14:41   
8.select trunc(sysdate, 'mi') from dual  --2014-3-18 14:41:00   TRUNC()函式沒有秒的精確

/***************數字********************/
/*
TRUNC(number,num_digits) 
Number 需要截尾取整的數字。 
Num_digits 用於指定取整精度的數字。Num_digits 的預設值為 0。
TRUNC()函式擷取時不進行四捨五入
*/
9.select trunc(123.458) from dual --123
10.select trunc(123.458,0) from dual --123
11.select trunc(123.458,1) from dual --123.4
12.select trunc(123.458,-1) from dual --120
13.select trunc(123.458,-4) from dual --0
14.select trunc(123.458,4) from dual  --123.458
15.select trunc(123) from dual  --123
16.select trunc(123,1) from dual --123
17.select trunc(123,-1) from dual --120