oracle函式trunc的使用

2021-07-04 19:37:29 字數 1801 閱讀 2853

1、日期比較時精確到日,可以使用 trunc(sysdate,'dd')函式。

函式支援格式有:yyyy mm  dd  hh mi

可以用 select trunc(sysdate,'yyyy') from dual  看看結果是什麼。

不要按下面的方式比較日期:

to_date(to_char(logtime,'yyyy-mm-dd'), 'yyyy-mm-dd') < to_date(to_char(sysdate - $daynum$,'yyyy-mm-dd'), 'yyyy-mm-dd')

2、trunc(d1[,c1])返回日期d1所在期間(引數c1)的第一天日期

d1日期型,c1為字元型(引數),c1預設為j(即當前日期)

c1對應的參數列:

本週星期日:day或dy或d (每週順序:日,一,二,三,四,五,六)

本月初日期:month或mon或mm或rm

本季日期:q

本年初日期:syear或year或yyyy或yyy或yy或y(多個y表示精度) 

本世紀初日期:cc或scc

【返回】:日期

select sysdate from dual --當時日期

select trunc(sysdate) from dual

select trunc(sysdate ,'dd') from dual --今天日期

select trunc(sysdate,'d')+7 from dual --本週星期日

select trunc(sysdate,'dy')+7 from dual  --本週星期日

select trunc(sysdate,'day')+7 from dual --本週星期日

select trunc(sysdate,'q') from dual--本季開始日期

select trunc(sysdate,'month') from dual --本月開始日期

select trunc(sysdate ,'mm') from dual --本月開始日期

select trunc(sysdate,'year') from dual  --本年開始日期

select trunc(sysdate ,'yyyy') from dual --本年開始日期

select trunc(sysdate ,'hh24') from dual --本小時開始時間

select trunc(sysdate ,'mi') from dual --本分鐘開始時間

select trunc(sysdate ,'cc') from dual --本世紀開始時間

select trunc(last_day(sysdate),'dd') from dual --本月最後一天

3、round(10.2356,2)函式可以對數字按指定保留小數字數四捨五入,這個函式還可以對日期四捨五入

select round(sysdate,'yyyy') from dual 四捨五入到年

select round(sysdate,'mm') from dual 四捨五入到月

select round(sysdate,'dd') from dual 四捨五入到日

select round(sysdate,'hh') from dual 四捨五入到小時

select round(sysdate,'mi') from dual 四捨五入到分鐘

4、trunc還可以對number型別使用,

trunc(89.985,2)=89.98

trunc(89.985)=89

trunc(89.985,-1)=80

Oracle 函式使用 TRUNC

1 做日期格式轉換 select trunc sysdate from dual 2020 07 16,時間格式的年月日 select trunc sysdate,yy from dual 2020 1 1,返回當年第一天 select trunc sysdate,mm from dual 2020...

oracle函式trunc的使用

oracle函式trunc的使用 1 日期比較時精確到日,可以使用 trunc sysdate,dd 函式。函式支援格式有 yyyy mm dd hh mi 可以用 select trunc sysdate,yyyy from dual 看看結果是什麼。不要按下面的方式比較日期 to date to...

oracle函式trunc的使用

1 日期比較時精確到日,可以使用 trunc sysdate,dd 函式。函式支援格式有 yyyy mm dd hh mi 可以用 select trunc sysdate,yyyy from dual 看看結果是什麼。不要按下面的方式比較日期 to date to char logtime,yyy...