Oracle Trunc函式
Trunc 函式
用法一:
為指定元素而截去的日期值。
語法如下:
TRUNC(date,[fmt])
引數分析:
date
一個日期值。
fmt
日期格式,該日期將由指定的元素格式所截去。忽略它則由最近的日期截。
不多說了,直接看示例吧!看完你就會明白。
示例:
以今天為例,今天是2010年9月10日。(剛剛好今天是教師節,在這裡祝老師們節日快樂哦!)
SELECT trunc(sysdate,'mm')FROM dual 返回2010-9-01(也就是說返回當月的第一天)
SELECT trunc(sysdate,'yy')FROM dual 返回2010-1-1 當年第一天
SELECT trunc(sysdate,'dd')FROM dual 返回2010-9-10 當天
SELECT trunc(sysdate,'day')FROM dual 返回2010-9-5 當週第一天
SELECT trunc(sysdate)FROM dual 返回2010-9-10 不填fmt引數就預設是當天
2.TRUNC(for number)
Oracle TRUNC函式返回處理後的數值,其工作機制與ROUND函式極為類似,只是該函式不對指定小數前或後的部分做相應舍入選擇處理,而統統截去。
其具體的語法格式如下
- TRUNC(number[,decimals])
其中:
number 待做擷取處理的數值
decimals 指明需保留小數點後面的位數。可選項,忽略它則截去所有的小數部分
下面是該函式的使用情況:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二個引數可以為負數,表示為小數點左邊指定位數後面的部分截去,即均以0記
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; --顯示當前時間
2011-12-29 16:24:34
select trunc(sysdate,'year') from dual; --擷取到年(本年的第一天)
2011-1-1
select trunc(sysdate,'q') from dual; --擷取到季度(本季度的第一天)
2011-10-1
select trunc(sysdate,'month') from dual; --擷取到月(本月的第一天)
2011-12-1
select trunc(sysdate,'') from dual;
空
select to_char(trunc(sysdate),'yyyymmdd hh24:mi:ss') from dual; --預設擷取到日(當日的零點零分零秒)
20111229 00:00:00
select trunc(sysdate-1,'w') from dual; -- 離當前時間最近的週四,若當天為週四則返回當天,否則返回上週四
2011-12-22
select trunc(sysdate,'ww') from dual; --擷取到上週末(上週週六)
2011-12-24
select trunc(sysdate,'day') from dual; --擷取到周(本週第一天,即上週日)
2011-12-25
select trunc(sysdate,'iw') from dual; --本週第2天,即本週一
2011-12-26
select to_char(trunc(sysdate,'dd'),'yyyymmdd hh24:mi:ss') from dual;--擷取到日(當日的零點零分零秒)
20111229 00:00:00
select trunc(sysdate,'hh24') from dual; --擷取到小時(當前小時,零分零秒)
2011-12-29 16:00:00
select trunc(sysdate,'mi') from dual; --擷取到分(當前分,零秒)
2011-12-29 16:24:00
select trunc(sysdate,'ss') from dual ;--報錯,沒有精確到秒的格式
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7899089/viewspace-740322/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle trunc()函式的用法Oracle函式
- trunc函式函式
- 【Oracle SQL】months_between與trunc函式OracleSQL函式
- trunc與round函式函式
- 【TRUNC】使用TRUNC函式完成對時間的擷取函式
- round函式與trunc函式的使用方法函式
- 利用TRUNC函式定製JOB的時間間隔函式
- 巧用trunc函式,獲取某日期範圍內的資料函式
- 【函式】ORACLE函式大全函式Oracle
- Oracle聚合函式/分析函式Oracle函式
- 【函式】Oracle EXTRACT()函式與to_char() 函式函式Oracle
- oracle 函式Oracle函式
- oracle or 函式Oracle函式
- Oracle函式Oracle函式
- 【函式】Oracle函式系列(2)--數學函式及日期函式函式Oracle
- 【函式】oracle nvl2 函式函式Oracle
- Oracle 函式大全(字串函式,數學函式,日期函式,邏輯運算函式,其他函式)Oracle函式字串
- Oracle分析函式與視窗函式Oracle函式
- oracle函式大全-字串處理函式Oracle函式字串
- Oracle分析函式七——分析函式案例Oracle函式
- 7 Oracle 函式Oracle函式
- Oracle 字串函式Oracle字串函式
- Oracle 字串函式Oracle字串函式
- ORACLE USERENV函式Oracle函式
- oracle dump 函式Oracle函式
- oracle Extract 函式Oracle函式
- Oracle字串函式Oracle字串函式
- ORACLE 常用 函式Oracle函式
- oracle函式索引Oracle函式索引
- Oracle dump函式Oracle函式
- Oracle 分析函式Oracle函式
- oracle reverse函式Oracle函式
- oracle字元函式Oracle字元函式
- oracle 常用函式Oracle函式
- Oracle 函式大全Oracle函式
- oracle函式大全Oracle函式
- Oracle分析函式Oracle函式
- Oracle常用函式Oracle函式