hello world

[SQL] Oracle 1분전, 1일전 실행된 쿼리 구하기 본문

WEB/DB

[SQL] Oracle 1분전, 1일전 실행된 쿼리 구하기

sohyun_92 2020. 3. 25. 18:32
728x90

[Oracle n분전, n일전, 실행된 쿼리 구하기]

 

1. 몇분(n분) 전 실행된 쿼리(sql) : 

 (sysdate-n/24/60)

ex) 1분 전 실행된 쿼리 : select sysdate - 1/(24*60) from dual;

     5분 전 실행된 쿼리 : select sysdate - 5/(24*60) from dual;

 

     *5분 전 ~  1분 전 실행된 쿼리를 count를 구하라

    (*생성된시간 필드 = createDate)

     select count(*) from where createDate between sysdate - 5/(24*60) and sysdate - 1/(24*60);

 

2. 몇분(n분) 후 실행된 쿼리(sql) : 

 (sysdat+n/24/60)

 

3. 몇일(n일) 전 실행된 쿼리(sql) : 

trunc(sysdate-n)

ex) 1일 전 실행된 쿼리 :select  trunc(sysdate-1) from dual;

       10일 전 실행된 쿼리 : select  trunc(sysdate-10) from dual;

 

 

4. 몇일(n일) 후 실행된 쿼리(sql) : 

trunc(sysdate+n)

--SYSDATE
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') "오늘" FROM DUAL;
--어제 
SELECT TO_CHAR(SYSDATE-1, 'YYYY-MM-DD HH24:MI:SS') "1일 전" FROM DUAL;
--1시간 전
SELECT TO_CHAR(SYSDATE-1/24, 'YYYY-MM-DD HH24:MI:SS') "1일 전" FROM DUAL;
--1분 전 
SELECT TO_CHAR(SYSDATE-1/24/60, 'YYYY-MM-DD HH24:MI:SS') "1분 전" FROM DUAL;
--5시간 30분 10초전 


--SYSTIMESTAMP
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS') "오늘" FROM DUAL;
--1000000000 분의 1초
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS.FF9') "오늘" FROM DUAL;
Comments