[Oracle] 오라클 순번 매기기 (행, 그룹별 순번) / ROWNUM, ROW_NUMBER()
·
DataBase/Oracle
오라클에서 행에 순번을 부여하는 방법 중 가장 기본적인 2가지를 알려 드리겠습니다. ROWNUM 사용 방법 (정렬 미적용)SELECT ROWNUM , A.* FROM EMP A WHERE JOB IN ('MANAGER','CLERK','ANALYST')ROWNUM을 선언하면 해당 테이블의 행 적제 순서대로 행 번호가 순번으로 부여ORDER BY로 정렬하기 전에 순번이 부여ROWNUM 사용 방법 (정렬 적용)SELECT ROWNUM , A.* FROM ( SELECT * FROM EMP WHERE JOB IN ('MANAGER','CLERK','ANALYST') ORDER BY SAL ) A사용자가 임의로 정렬한 순서대로 순번 ..
[Oracle] 오라클 COUNT OVER 사용 방법 / 그룹별 중복 행(값) 찾기
·
DataBase/Oracle
COUNT와 OVER를 같이 사용하면 GROUP BY 로 그룹화하지 않아도 건수 집계 및 분석이 가능합니다.COUNT만 사용하는 경우 GROUP BY 사용COUNT() OVER() 로 사용하는 경우 GROUP BY 없이 사용전체 행의 개수 구하기 / 조건 부여SELECT EMPNO , ENAME , JOB , SAL , DEPTNO , COUNT(*) OVER() AS TOT_CNT , COUNT(CASE WHEN SAL >= 2000 THEN EMPNO END) OVER() AS CNT_2000 FROM EMP WHERE JOB IN ('MANAGER','CLERK','ANALYST')OVER() 안을 공란으로 두면 전체 행의 개수 집계COUNT()..
[Oracle] 오라클 초를 분(MI), 시간(HH), 일(DD)로 변환하기
·
DataBase/Oracle
초 단위로만 집계된 데이터를 분 / 시간 / 일 단위로 변환하는 방법을 알려 드리겠습니다.초단위 변환SELECT 86400 AS 초 , FLOOR(86400 / 60 ) AS 분 , FLOOR(86400 / (60 * 60) ) AS 시간 , FLOOR(86400 / (60 * 60 * 24) ) AS 일 FROM DUALFLOOR 함수로 소수점 이하를 내림처리 하여 변환 가능합니다.같은 원리로 TRUNC 함수로 소수점 이하를 버림 처리하여 변환 가능합니다.분, 시간, 일 을 따로 곱하면 상세한 계산을 쉽게 처리할 수 있습니다.초단위 집계 SSSSS 활용 방법SELECT SYSDATE , TO_C..
[Oracle] 오라클 MERGE INTO 개념 및 사용 방법 / UPDATE, INSERT 동시에 수행 (UPSERT)
·
DataBase/Oracle
처리할 데이터 양이 많은데 UPDATE와 INSERT를 구분해서 수행해야 하는 경우UPDATE와 INSERT를 한 번에 수행할 수 있는 MERGE INTO 에 대해 알려 드리겠습니다. MERGE INTO 기본 사용 방법단일 테이블 또는 조건 사용 (DUAL)MERGE INTO DEPT A USING DUAL ON (A.DEPTNO = '50') WHEN MATCHED THEN UPDATE SET A.DNAME = 'PRODUCTIONS' , A.LOCATION = 'BUSAN' WHEN NOT MATCHED THEN INSERT (A.DEPTNO, A.DNAME, A.LOCATION) VALUES..
[Oracle] 오라클 날짜 관련 내장 함수 종류 및 사용 방법
·
DataBase/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스톱워치 등의 기능을 구현하거나, 보다 정확한 시간 기록..
[Oracle] 오라클 날짜, 시간 형식(포맷) 총정리 / 구분자, 요일
·
DataBase/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..