SYSDATE 2017-03-17 这个博客的说明不错哦 http://www.cnblogs.com/chuncn/archive/2009/04/29/1381282.html 2 --◎ 可得到目前系統的時間 3 4 ex. 5 select sysdate from dual; 6 7 sysdate 8 ---------- 9 20-SEP-07 10 11 常用之日期格式 12 13 日期格式 說明 14 ------------------------------------------------------------------------ 15 YYYY/MM/DD -- 年/月/日 16 YYYY -- 年(4位) 17 YYY -- 年(3位) 18 YY -- 年(2位) 19 MM -- 月份 20 DD -- 日期 21 D -- 星期 22 -- 星期日 = 1 星期一 = 2 星期二 = 3 23 -- 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7 24 25 DDD -- 一年之第幾天 26 WW -- 一年之第幾週 27 W -- 一月之第幾週 28 YYYY/MM/DD HH24:MI:SS -- 年/月/日 時(24小時制):分:秒 29 YYYY/MM/DD HH:MI:SS -- 年/月/日 時(非24小時制):分:秒 30 J -- Julian day,Bc 4712/01/01 為1 31 RR/MM/DD -- 公元2000問題 32 -- 00-49 = 下世紀;50-99 = 本世紀 33 ex. 34 select to_char(sysdate,'YYYY/MM/DD') FROM DUAL; -- 2007/09/20 35 select to_char(sysdate,'YYYY') FROM DUAL; -- 2007 36 select to_char(sysdate,'YYY') FROM DUAL; -- 007 37 select to_char(sysdate,'YY') FROM DUAL; -- 07 38 select to_char(sysdate,'MM') FROM DUAL; -- 09 39 select to_char(sysdate,'DD') FROM DUAL; -- 20 40 select to_char(sysdate,'D') FROM DUAL; -- 5 41 select to_char(sysdate,'DDD') FROM DUAL; -- 263 42 select to_char(sysdate,'WW') FROM DUAL; -- 38 43 select to_char(sysdate,'W') FROM DUAL; -- 3 44 select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') FROM DUAL; -- 2007/09/20 15:24:13 45 select to_char(sysdate,'YYYY/MM/DD HH:MI:SS') FROM DUAL; -- 2007/09/20 03:25:23 46 select to_char(sysdate,'J') FROM DUAL; -- 2454364 47 select to_char(sysdate,'RR/MM/DD') FROM DUAL; -- 07/09/20
select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,add_months(sysdate,1) from dual; --加1月
select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual; --加1星期
select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天
select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1小时
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1分钟
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒
判断当前时间是上午下午还是晚上
SELECT CASE
WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 6 AND 11 THEN '上午'
WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 11 AND 17 THEN '下午'
WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 17 AND 21 THEN '晚上'
END
FROM dual;
DATE格式转换:
一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。
如:select to_date( '2005-01-01 13:14:20 ', 'yyyy-MM-dd HH24:mm:ss ') from dual;
原因是:SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。
select to_date( '2005-01-01 13:14:20 ', 'yyyy-MM-dd HH24:mi:ss ') from dual;
日期时间间隔操作:
当前时间减去7分钟的时间
select sysdate,sysdate - interval '7' MINUTE from dual
当前时间减去7小时的时间
select sysdate - interval '7' hour from dual
当前时间减去7天的时间
select sysdate - interval ’7’ day from dual
当前时间减去7月的时间
select sysdate,sysdate - interval '7' month from dual
当前时间减去7年的时间
select sysdate,sysdate - interval '7' year from dual
时间间隔乘以一个数字
select sysdate,sysdate - 8*interval '7' hour from dual
来自:http://www.cnblogs.com/carekee/articles/4532905.html