Oracle时间函数使用

select sysdate from dual--返回系统时间

select trunc(sysdate) from dual

select trunc(sysdate-8) from dual

select trunc(sysdate+8) from dual

select trunc(sysdate-to_date('2015-2-18','yyyy-MM-dd')) from dual--系统时间-指定时间

select trunc(to_date('2015-2-20','yyyy-MM-dd')-8) from dual--指定时间加减天数

select trunc(to_date('2015-2-20','yyyy-MM-dd')+8) from dual

select trunc(sysdate+(INTERVAL '1' DAY)  ) from dual  --加1天(1)

select trunc(sysdate+(INTERVAL '1' MONTH) ) from dual --加1月

select trunc(sysdate+(INTERVAL '1' YEAR) ) from dual --加1年

select trunc(to_date('2015-2-20','yyyy-MM-dd')+(INTERVAL '1' DAY)) from dual --加1天(1)

select sysdate,last_day(sysdate)  from dual;--返回本月最后一天日期

select trunc(28.4),trunc(28.9),trunc(sysdate) from dual;--只去整数

select round(28.4),round(28.9) from dual;--对所有类型4舍5入

---

select to_date('2015-2-18','yyyy-MM-dd'),-- 当时日期,

 round(to_date('2015-2-18','yyyy-MM-dd')),-- 今天日期,

 round(to_date('2015-2-18','yyyy-MM-dd'),'day'),-- 本周星期日,

 round(to_date('2015-2-18','yyyy-MM-dd'),'month') ,--本月初,

 round(to_date('2015-2-18','yyyy-MM-dd'),'q'),-- 本季初日期, 

 round(to_date('2015-2-18','yyyy-MM-dd'),'year')-- 本年初日期 

from dual;

--

select sysdate ,--当时日期,

 next_day(sysdate,'星期一'),-- 下周星期一,

 next_day(sysdate,'星期二'),-- 下周星期二,

 next_day(sysdate,'星期三'),-- 下周星期三,

 next_day(sysdate,'星期四'),-- 下周星期四,

 next_day(sysdate,'星期五'),-- 下周星期五,

 next_day(sysdate,'星期六'),-- 下周星期六,

 next_day(sysdate,'星期日')-- 下周星期日 

from dual;

---

select 

 extract(hour from timestamp '2001-2-16 2:38:40 ' ),-- 小时,

 extract(minute from timestamp '2001-2-16 2:38:40 ' ) ,--分钟,

 extract(second from timestamp '2001-2-16 2:38:40 ' ),-- 秒,

 extract(DAY from timestamp '2001-2-16 2:38:40 ' ) ,--日,

 extract(MONTH from timestamp '2001-2-16 2:38:40 ' ) ,--月,

 extract(YEAR from timestamp '2001-2-16 2:38:40 ' )-- 年

from dual;

猜你喜欢

转载自qq1827245563.iteye.com/blog/2330514