oracle⽇期常⽤函數(SYSDATE、⽇期格式)
SYSDATE                  2017-03-17 这个博客的说明不错哦  wwwblogs/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年
java时间日期格式转换
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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。