oracle 中的trunc()函數及加一個月,一天,一小時,一分鍾,一秒鍾方法


返回處理后的數據,不同於round()(對數值進行四舍五入處理),該函數不對指定小數前或后的數值部分進行舍入處理。

語法:trunc(number[,decimals])

其中,number為待做處理的數值,decimals為需要保留小數點后面的位數,即精度,默認值為0,此時將截去所有的小數部分。

 

數值處理:

select trunc(123.45) as a,trunc(123.456,2) as b, trunc(123.45,-1) as c from dual ;

 

從以上例子可以看出,第二個參數可為負值,表示為截取小數點左邊指定位數后面的部分,即皆為0位,與為整數相似,為1時取十分位,為-1則取到十位,以此類推。當然有一種情況是這樣的:trunc(123.45,-5),可以測返回:

select trunc(123.4,-5) from dual;

 

 

日期處理:此時函數返回指定元素格式截去一部分日期值。

語法:trunc(date[,fmt])

Date 為必要參數,是輸入的一個日期。Fmt參數可以忽略,是日期格式,用以指定的元素格式來截去輸入的日期值,默認為0,此時截去最近的日期。

用法及舉例可參考如下:

 

 附:

在當前日期加一個月,加一天,加一小時,加一分鍾,加一秒的方法:

oracle中有一個add_mouth()函數,可直接加月份:

select sysdate,add_months(sysdate ,1) from dual;

加一天,加一小時,加一分鍾,加一秒:

select
sysdate +1 加一天 ,
sysdate+1/24 加1小時,
sysdate+1/(24*60) as 加1分鍾,
sysdate+1/(24*60*60) as 加1秒鍾 
from dual 

 

 

---------

本系列為最近一段時間學習oracle的學習筆記,記錄於此作為自身回顧,其中有的來的網絡,有的來的書籍,但時間已久,記不清哪些是引用,如是轉載但沒標注出,特意致歉。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM