본문 바로가기

oracle27

오라클 두 날짜 사이의 시간 분 계산 각설 하고 바로 예시. WITH T AS ( SELECT to_date('20190116' || '1830', 'yyyyMMddHH24mi') AS ed, to_date('20190116' || '1700', 'yyyyMMddHH24mi') AS bd FROM dual ) SELECT FLOOR((ed - bd)*24) hh, ( (ed - bd)*24 - FLOOR((ed - bd)*24) )*60 mm FROM t ; select day , hour - (day * 24) as hour , min - (hour * 60) as min , second - (min * 60) as second from (select START_DATE , END_DATE , trunc((END_DATE - START_D.. 2019. 1. 16.
오라클 Pivot. Sum(case..)의 몰락? 행 데이타를 열 데이타로 바꾸는 방법으로 효율성 좋은 Sum(Case..) 용법이 추천 및 자주 사용 되었다.그런데 11g에서 Pivot 의 등장 으로 인해 Sum(Case..) 용법은 이해하기 어렵고, 직관적 이지도 효율적 이지도 않다고 말하고 있다. 나는 오래써서 이해가 잘되는데...하여간 Pivot이 훨씬 더 간결 하기는 하다.아래는 각각의 쿼리 예제 이다. 복붙 확인도 좋지만 Select 절 정도는 ... -- Sum(Case..) 예제WITH TAB AS(SELECT '가' AS NM, 'AA' AS COL, 1 AS CN FROM DUAL UNION ALLSELECT '가' AS NM, 'AA' AS COL, 2 AS CN FROM DUAL UNION ALLSELECT '가' AS NM, 'B.. 2018. 9. 19.
오라클 PIPELINED. Type은 RECORD를 사용. -- Header TYPE out_rec IS RECORD ( OBJID varchar2(10), FILENM varchar2(10) ); TYPE TEXT_TABLE_TYPE IS TABLE OF out_rec; FUNCTION FN_GET_OBJID ( IN_AB IN VARCHAR2, IN_BC IN VARCHAR2 ) RETURN TEXT_TABLE_TYPE PIPELINED; -- body FUNCTION FN_GET_OBJID ( IN_AB IN VARCHAR2, IN_BC IN VARCHAR2 ) RETURN TEXT_TABLE_TYPE PIPELINED IS out_row out_rec; V_V1 varchar2(10); V_V2 varchar2(10); BEGIN SELECT A.CD, .. 2018. 9. 7.
oracle dbms_job, 오라클 스케줄링, 오라클 db job 밑에 녀석이 스케줄링 어떻게 하냐고 물어봤다. 이왕 하는 거 정리해서 올리기로 했다. 1. Job의 생성. DECLARE jobno NUMBER(5); begin dbms_job.submit(jobno, 'USP_TEST;', sysdate, 'sysdate + 1/24/60', FALSE ); commit; end; -- 위에꺼 재설명 하자면... DECLARE jobno NUMBER(5); begin dbms_job.submit( jobno, -- job의 번호. output 변수임. 'USP_TEST;', -- job이 실행할 쿼리 및 SP. single quatation('~') 으로 감싸야함. sysdate, -- job이 실행될 시간. 'sysdate + 1/24/60' -- job의 실행간격.. 2008. 6. 15.
반응형