본문 바로가기
반응형

DataBase/Oracle15

[Oracle] 오라클 날짜 관련 내장 함수 종류 및 사용 방법 SYSDATE - 현재 시간SELECT SYSDATE , SYSDATE + 1 AS TOMORROW , SYSDATE - 1 AS YESTERDAY , TO_DATE(SYSDATE) AS NOW_DATE FROM DUALSYSDATE 만 사용하면 시분초까지 표시TO_DATE() 와 SYSDATE 를 같이 사용하면 일월년만 표시일 기준으로 날짜 더하기 빼기 가능시분초 단위 계산은 소수점 또는 나누기 사용SYSTIMESTAMP - 초의 소수점까지 표시SELECT SYSTIMESTAMP , TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS.FF') AS TIME_FF FROM DUAL스톱워치 등의 기능을 구현하거나, 보다 정확한 시간 기록.. 2025. 9. 10.
[Oracle] 오라클 날짜, 시간 형식(포맷) 총정리 / 구분자, 요일 오라클에서 통계를 추출할 때 많이 사용하는 날짜 형식에 대해서 알려 드리겠습니다.연월일 날짜 형식(구분자 사용)SELECT TO_CHAR(SYSDATE,'YYYYMMDD') AS NOW_CHAR , TO_CHAR(SYSDATE,'YYYY/MM/DD') AS NOW_CHAR1 , TO_CHAR(SYSDATE,'YYYY-MM-DD') AS NOW_CHAR2 , TO_CHAR(SYSDATE,'DD/MM/YYYY') AS NOW_CHAR3 , TO_CHAR(SYSDATE,'YYYY,MM,DD') AS NOW_CHAR4 , TO_CHAR(SYSDATE,'YYYY.MM.DD') AS NOW_CHAR5 , TO_CHAR(SYSDATE,'YYYY;MM;DD') AS NOW_C.. 2025. 9. 10.
[Oracle] 오라클 상위, 하위 n개 행만 추출하는 방법 오라클에서 상위, 하위 n개 행을 추출하는 방법은 서브쿼리(인라인 뷰)를 사용하면 됩니다.정렬 후 n번째 행까지만 추출순위 산정 후 n번째 순위까지만 추출상위 n개 행 추출 방법1 (ROWNUM)SELECT * FROM ( SELECT EMPNO , ENAME , JOB , SAL FROM EMP ORDER BY SAL DESC ) WHERE ROWNUM 내림차순으로 정렬(DESC) 후 ROWNUM 을 지정하면 상위 n번째 행만 추출이 가능합니다.반대로 오름차순으로 정렬(ASC) 후 ROWNUM 을 지정하면 하위 n번째 행만 추출이 가능합니다. 상위 n개 행 추출 방법2 (DENSE_RANK)SELECT EMPN.. 2025. 9. 5.
[Oracle] 오라클 KEEP 사용 방법 (RANK, DENSE_RANK / MAX, MIN, SUM, COUNT) 오라클에서 KEEP 을 사용하면 그룹(GROUP) 내에서 최대, 최저 순위 행(값)을 가져올 수 있습니다.최대, 최저 순위의 값을 구하는 건 쉽지만, 해당 순위의 행의 다른 컬럼 값을 가져와야 하는 경우 KEEP 을 사용하면 서브쿼리를 사용하지 않아도 값을 가져올 수 있습니다. KEEP을 사용할 때는 GROUP BY 절로 그룹을 지정하거나 OVER 절로 구분해야 합니다.KEEP 기본 사용 방법 (GROUP BY) 그룹을 지정하는 경우 사용SELECT DEPTNO , MAX(SAL) KEEP(DENSE_RANK LAST ORDER BY DEPTNO) AS SAL_LAST , MAX(JOB) KEEP(DENSE_RANK LAST ORDER BY SAL) AS JOB_LAST , M.. 2025. 9. 5.
[Oracle] 오라클 스케줄러 잡(Scheduler Job) 실행 결과 확인 방법 / 스케줄 동작 로그 및 에러 확인 오라클에서 스케줄러 잡(Scheduler Job)을 설정하면 실행 결과가 로그로 기록됩니다.스케줄러 잡으로 주기적으로 특정 작업을 실행한 결과를 확인하고 싶을 때 해당 쿼리로 로그를 확인하면 됩니다. 스케줄러 잡 실행 결과SELECT * FROM USER_SCHEDULER_JOB_LOG WHERE TO_CHAR(LOG_DATE,'YYYYMMDD') = TO_CHAR(SYSDATE,'YYYYMMDD') ORDER BY LOG_DATE DESC; 위 쿼리를 실행하면 스케줄러 잡의 성공, 실패 여부를 확인할 수 있습니다. 스케줄러 잡 실행 상세 결과 (에러 확인)SELECT * FROM USER_SCHEDULER_JOB_RUN_DETAILS WHERE TO_CHAR(LOG_DATE,.. 2025. 9. 3.
[Oracle] 오라클 LISTAGG 사용 방법 및 예제 (정렬, 중복제거, 컬럼 합치기/이어 붙이기) 오라클에서 쿼리를 작성하다 보면 여러 행의 컬럼 값을 하나로 묶어서 표현해야 하는 경우 LISTAGG 함수를 사용합니다. - 합치기, 이어 붙이기 LISTAGG 함수는 여러 행의 값을 묶어서 표현하는 기능이므로 GROUP BY 또는 PARTITION BY 를 사용하여 그룹을 지정해야만 사용 가능합니다. LISTAGG의 기본 사용 방법은 다음과 같습니다.LISTAGG( [합치는 컬럼], [구분자] ) WITHIN GROUP(ORDER BY [정렬 기준 컬럼] ) LISTAGG 사용 예제1SELECT LISTAGG(ENAME, ',') WITHIN GROUP(ORDER BY ENAME) AS ENAME_LIST FROM EMP WHERE JOB IN ('MANAGER','CLERK') 위 예시처럼.. 2025. 8. 15.
반응형