如何正確對Oracle trunc()函數(shù)進(jìn)行操作?
以下的文章主要是對Oracle trunc()函數(shù)的實(shí)際用法的描述,本文主要是從TRUNC(for dates)與TRUNC(for number)這兩方面講起的的,如果你在實(shí)際操作中對Oracle trunc()函數(shù)的實(shí)際用法很感興趣的話,你就可以對其點(diǎn)擊閱讀了。
關(guān)于Oracle trunc()函數(shù)的format,自己現(xiàn)在有點(diǎn)體會,format為day時,只精確到天,而不管幾年幾月只要是符合的day就可以了,要想確定一年中的某月的某一天就要用trunc(date,''dd'').
通俗的說吧,format為年時,精確到-----年
為月時,精確到------年,月(不管哪年,只要是相同的月和哪天)
為日時,精確到------年,月,日(不管哪年的哪月,只關(guān)心是哪天)
1.TRUNC(for dates)
TRUNC函數(shù)為指定元素而截去的日期值。
其具體的語法格式如下:
TRUNC(date[,fmt])
其中:
date 一個日期值
fmt 日期格式,該日期將由指定的元素格式所截去。忽略它則由最近的日期截去
下面是該函數(shù)的使用情況:
TRUNC(TO_DATE(’24-Nov-1999 08:00 pm’,’dd-mon-yyyy hh:mi am’))
=’24-Nov-1999 12:00:00 am’
TRUNC(TO_DATE(’24-Nov-1999 08:37 pm’,’dd-mon-yyyy hh:mi am’,’hh’)) =’24-Nov-1999 08:00:00 am’
round (date,''format'')未指定format時,如果日期中的時間在中午之前,則將日期中的時間截?cái)酁?2 A.M.(午夜,一天的開始),否則進(jìn)到第二天。
TRUNC(date,''format'')未指定format時,將日期截為12 A.M.,不考慮是否在中午之前的條件。
2.TRUNC(for number)
TRUNC函數(shù)返回處理后的數(shù)值,其工作機(jī)制與ROUND函數(shù)極為類似,只是該函數(shù)不對指定小數(shù)前或后的部分做相應(yīng)舍入選擇處理,而統(tǒng)統(tǒng)截去。
Oracle trunc()函數(shù)其具體的語法格式如下
TRUNC(number[,decimals])
其中:
number 待做截取處理的數(shù)值
decimals 指明需保留小數(shù)點(diǎn)后面的位數(shù)??蛇x項(xiàng),忽略它則截去所有的小數(shù)部分
下面是該函數(shù)的使用情況:
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
注意:第二個參數(shù)可以為負(fù)數(shù),表示為小數(shù)點(diǎn)左邊指定位數(shù)后面的部分截去,即均以0記
以上的相關(guān)內(nèi)容就是對Oracle trunc()函數(shù)的用法的介紹,望你能有所收獲。
【編輯推薦】