Oracle时间函数浅析
Oracle时间函数浅析
一、sysdate函数
1、sysdate的运算
加法
- 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 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秒
2、常用的日期格式
- 日期格式 說明
- -------------------- ------------------------------------------------
- YYYY/MM/DD -- 年/月/日
- YYYY -- 年(4位)
- YYY -- 年(3位)
- YY -- 年(2位)
- MM -- 月份
- DD -- 日期
- D -- 星期
- -- 星期日 = 1 星期一 = 2 星期二 = 3
- -- 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7
- DDD -- 一年之第几天
- WW -- 一年之第几周
- W -- 一月之第几周
- YYYY/MM/DD HH24:MI:SS -- 年/月/日 時(24小時制):分:秒
- YYYY/MM/DD HH:MI:SS -- 年/月/日 時(12小時制):分:秒
- J -- Julian day,Bc 4712/01/01 为1
- RR/MM/DD -- 公元2000問題
- -- 00-49 = 下世紀;50-99 = 本世紀
示例
- select to_char(sysdate,'YYYY/MM/DD') FROM DUAL; -- 2007/09/20
- select to_char(sysdate,'YYYY') FROM DUAL; -- 2007
- select to_char(sysdate,'YYY') FROM DUAL; -- 007
- select to_char(sysdate,'YY') FROM DUAL; -- 07
- select to_char(sysdate,'MM') FROM DUAL; -- 09
- select to_char(sysdate,'DD') FROM DUAL; -- 20
- select to_char(sysdate,'D') FROM DUAL; -- 5
- select to_char(sysdate,'DDD') FROM DUAL; -- 263
- select to_char(sysdate,'WW') FROM DUAL; -- 38
- select to_char(sysdate,'W') FROM DUAL; -- 3
- select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') FROM DUAL; -- 2007/09/20 15:24:13
- select to_char(sysdate,'YYYY/MM/DD HH:MI:SS') FROM DUAL; -- 2007/09/20 03:25:23
- select to_char(sysdate,'J') FROM DUAL; -- 2454364
- select to_char(sysdate,'RR/MM/DD') FROM DUAL; -- 07/09/20
评论暂时关闭