Oracle 日期操作

2021-09-01 22:17:57 字數 2012 閱讀 4025

1)

步長為小時,直接轉換時間為小時:

select trunc(sysdate,』hh24』) from dual

返回當前時間整點

2)步長為半小時,轉換為0分和

30分兩段:

select

case

when

(sysdate

-trunc(

sysdate

,'hh24'

))>1/

48then

trunc(

sysdate

,'hh24')+1

/48else

trunc(

sysdate

,'hh24'

) end

case

from

dual

3)步長為天:

select

trunc(

sysdate

) from

dual;

4)步長為周: -

一周的第一天

select to_char(sysdate,'d') from dual; 

--得到星期幾

select initcap(to_char(sysdate,'day')) from dual; 

--取當前時間是一年中的第幾周(按實際日曆的)

select to_char(sysdate,'iw') from dual; 

---取當前時間是一年中的第幾周(從

1.1開始算)

select to_char(sysdate,'ww') from dual; 

--取當前時間是乙個月中的第幾周(從

1日開始算

)  select to_char(sysdate,'w') from dual; 

--本週第一天(星期天算起)

selecttrunc(sysdate,'d') from dual; 

5)步長為月:

select

trunc(

sysdate

,'mm'

) from

dual

6)步長為季:

select

trunc(

sysdate

,'q'

) from

dual;

返回本季的第一天

7)步長半年

:select

case

when

sysdate

> add_months(trunc(

sysdate

,'yyyy'),6

) then

add_months(trunc(

sysdate

,'yyyy'),6

) else

trunc(

sysdate

,'yyyy'

) end

case

from

dual

8)步長為年:

select

trunc(

sysdate

,'yyyy'

) from

dual

9)步長為旬

:select

case

when

sysdate

sysdate

,'mm')+9

then

trunc(

sysdate

,'mm'

)  when

sysdate

>=trunc(

sysdate

,'mm'

)+19

then

trunc(

sysdate

,'mm'

)+19

else

trunc(

sysdate

,'mm')+9

endcase

from

dual

返回所在旬首日

Oracle日期操作

今天星期幾 select to char sysdate,dy from dual select to char systimestamp,day from dual 今天是本週第幾天 select to char sysdate,d from dual select to char systime...

Oracle 日期操作

select trunc sysdate to char sysdate,d 7 2 from dual select trunc sysdate to char sysdate,d 1 from dual 列出上週星期一 星期天的時間 語句分析 sysdate 系統當前時間 to char sys...

oracle日期操作

sql select sysdate from dual 選擇系統時間 sysdate 12 7月 12 sql select add months sysdate,2 from dual add months用法,操作月份 add months sys 12 5月 12 sql select to...