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;