본문 바로가기

Oracle

[Oracle] 테이블별 레코드 건수 구하기 SELECT TABLE_NAME , NUM_ROWS , TO_NUMBER( DBMS.XMLGEN('SELECT COUNT(*) FROM ' || TABLE_NAME).EXTRACT('.//text()') ) AS NUM_ROWS2 FROM USER_TABLES WHERE 1=1 ; 출처 : 오라클클럽 URL : http://www.oracleclub.com/article/55486 더보기
[Oracle] 컬럼상 끝 문자 삭제 SELECT RTRIM('123,456,789,', ',') FROM DUAL ; 더보기
[Oracle] 버전별 Group By에서 문자열 합치기 (여러 ROW를 한줄로) WITH tbl (type, name, code) AS ( SELECT 'STRING', 'BBB', '1' FROM dual UNION ALL SELECT 'INTEGER', '222', '1' FROM dual UNION ALL SELECT 'STRING', 'CCC', '2' FROM dual UNION ALL SELECT 'INTEGER', '333', '2' FROM dual UNION ALL SELECT 'STRING', 'AAA', '0' FROM dual UNION ALL SELECT 'STRING', 'DDD', '3' FROM dual UNION ALL SELECT 'INTEGER', '111', '0' FROM dual ) SELECT type , SUBSTR(XMLAgg(XMLEle.. 더보기
[Oracle] 날짜 계산 Oracle의 날짜 계산 1. 날짜계산 (1) 어제: 날짜컬럼 BETWEEN TRUNC(SYSDATE-1) AND TRUNC(SYSDATE-1) +0.99999421 (2) 오늘: 날짜컬럼 BETWEEN TRUNC(SYSDATE) AND TRUNC(SYSDATE) + 0.99999421 (3) 내일: 날짜컬럼 BETWEEN TRUNC(SYSDATE+1) AND TRUNC(SYSDATE+1) +0.99999421 (4) 금주: 날짜컬럼 BETWEEN TRUNC(SYSDATE+1)-TO_CHAR(SYSDATE,'D') AND TRUNC(SYSDATE+1)-TO_CHAR(SYSDATE,'D') +6.99999421 (5) 차주: 날짜컬럼 BETWEEN TRUNC(SYSDATE+8)-TO_CHAR(SYSDATE.. 더보기
[Oracle] MERGE INTO MERGE INTO [테이블명] USING [조회쿼리 또는 Base 테이블] ON [위의 조회쿼리 또는 테이블과의 조인조건] --ON 다음에 명시한 키와 매치되는 경우 Update처리 WHEN MATCHED THEN UPDATE SET --테이블은 제일 위의 [테이블명] [컬럼1] = [값1], [컬럼2] = [값2] DELETE WHERE [추가조건] --ON 다음에 명시한 키와 매치되지 않는 경우 Insert처리 WHEN NOT MATCHED THEN INSERT (컬럼1,컬럼2,...) --테이블은 제일 위의 [테이블명] VALUES(값1,값2,...) [Sample] MERGE INTO t_Target A using ( select key1, key2, value1, value2 from t_Ba.. 더보기