写在前面

在使用Oracle数据开发的时候,经常会使用到Oracle的日期的查询。

以下总结有关Oracle日期查询相关。

一、年、月、日、季、周

1.年

SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;

2.月

SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;

3.日

SELECT TO_CHAR(SYSDATE,'DD') FROM DUAL;

4.季

SELECT TO_CHAR(SYSDATE,'Q') FROM DUAL;

5.周

SELECT TO_CHAR(SYSDATE,'IW') FROM DUAL;

二、EXTRACT 年、月、日

1.年

SELECT EXTRACT(YEAR FROM SYSDATE)||'年' FROM DUAL;

2.月

SELECT EXTRACT(MONTH FROM SYSDATE)||'月' FROM DUAL;

3.日

SELECT EXTRACT(DAY FROM SYSDATE)||'日' FROM DUAL;

三、上个星期一到星期天

SELECT
TO_CHAR(SYSDATE,'yyyymmdd')-TO_NUMBER(TO_CHAR(SYSDATE,'d')-1)-6,
TO_CHAR(SYSDATE,'yyyymmdd')-TO_NUMBER(TO_CHAR(SYSDATE,'d')-1) FROM DUAL;

四、1分钟前、1小时前、1月前、1年前


1.一分钟前

SELECT TO_CHAR(SYSDATE-INTERVAL '1' MINUTE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

2.1小时前

SELECT TO_CHAR(SYSDATE-INTERVAL '1' HOUR,'YYYY-MM-DD HH:24:MI:SS') FROM DUAL;

3.1月前

SELECT TO_CHAR(SYSDATE-INTERVAL '1' DAY,'YYYY-MM-DD HH:24:MI:SS') FROM DUAL;

4.1年前

SELECT TO_CHAR(SYSDATE-INTERVAL '1' YEAR,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

五、当月、上月、当天、前天


1.当月

SELECT TO_CHAR(ADD_MONTHS(SYSDATE,0),'YYYY-MM-DD') FROM DUAL;

2.上月

SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY-MM-DE') FROM DUAL;

3.当天

SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;

4.前天

SELECT TOCHAR(SYSDATE-1,'YYYY-MM-DD') FROM DUAL;
02-12 22:31