영업일 function

oracle | 2008/12/11 14:24 | 구라구렁이
--------------------------------------------------------------------------------
--함  수  명 : GET_BIZ_DT
--작  성  자 : coue
--작  성  일 : 2008.12.11
--내      용 : N일 이후(이전) 영업일 가져오기
--------------------------------------------------------------------------------
--변  경  일 :
--변  경  자 :
--------------------------------------------------------------------------------
CREATE OR REPLACE FUNCTION COUE.GET_BIZ_DT (
    p_day           NUMBER
) RETURN VARCHAR2 IS

    v_date   VARCHAR2(8);

BEGIN
    v_date   :=  '';
    --------------------------------------------------------------------------------
    IF  p_day >= THEN
        SELECT  TO_CHAR(YMD, 'YYYYMMDD')    AS  YMD
          INTO  v_date
          FROM (
                SELECT  /*+INDEX_ASC(TABLE_NAME TABLE_INDEX_NAME)*/
                        YMD         AS  YMD
                       ,ROWNUM - 1  AS  RNO
                  FROM  TABLE_NAME
                 WHERE  SDAY_YN     =   'Y'  --영업일여부
                   AND  YMD         >=  TRUNC(SYSDATE, 'DD')
               )
         WHERE  RNO =   p_day;
    --------------------------------------------------------------------------------
    ELSE
        SELECT  TO_CHAR(YMD, 'YYYYMMDD')    AS  YMD
          INTO  v_date
          FROM (
                SELECT  /*+INDEX_DESC(TABLE_NAME TABLE_INDEX_NAME)*/
                        YMD         AS  YMD
                       ,ROWNUM      AS  RNO
                  FROM  TABLE_NAME
                 WHERE  SDAY_YN     =   'Y'  --영업일여부
                   AND  YMD         <   TRUNC(SYSDATE, 'DD')
               )
         WHERE  RNO =   ABS(p_day);
    --------------------------------------------------------------------------------
    END IF;
    --------------------------------------------------------------------------------
    RETURN  v_date;
    --------------------------------------------------------------------------------
    EXCEPTION
        WHEN NO_DATA_FOUND THEN
            RETURN '';
        WHEN OTHERS THEN
            RETURN '';

END GET_BIZ_DT;




* 어느 프로젝트에 투입되어도 반드시 존재하여야 하는 영업일 구하기.

* Ex> 3일 후 영업일 구하기
         SELECT  GET_BIZ_DT(3) FROM  DAUL
* Ex> 3일 전 영업일 구하기
         SELECT  GET_BIZ_DT(-3) FROM  DAUL

oracle 에서 SELECT 시 clob 데이터 확인

oracle | 2008/12/01 11:31 | 구라구렁이
SELECT DBMS_LOB.SUBSTR(column_name, 10000,    1)
  FROM  table_name



* Tools 에서 제공하는 기능과 기본기능을 구별하자.
태그 : clob,Oracle

EDW : Enterprise Data Warehouse

memo | 2008/10/31 13:01 | 구라구렁이
출처 : 네이버 용어사전



기업 내 정보를 체계적으로 분류, 저장하여 모든 조직과 응용 프로그램이 기술적 제약 없이 정보를 공유할 수 있도록 하는 데이터의 통합 저장소. 기업 내 정보를 효율적으로 관리하여 필요한 때에 필요한 사람에게 가도록 정보의 생산, 유통, 보관, 폐기 등 일련의 과정을 지원하는 시스템이다. 전사적인 기업 차원의 데이터 분석을 위하여 통합적으로 데이터를 집약 유지하고, 데이터를 정제하여 주제별로 데이터를 통합 구축한다. 또한 각 부서 단위로 구축되는 데이터 마트에 데이터를 공급하는 역할을 하거나 보고의 데이터 공급원으로도 활용된다.

DW : Data WareHouse

memo | 2008/10/24 14:44 | 구라구렁이
출처 : 정보통신용어사전

기간 시스템의 데이터베이스에 축적된 데이터를 공통의 형식으로 변환하여 일원적으로 관리하는 데이터베이스. 웨어하우스는 창고라는 의미인데 데이터의 격납이나 분석 방법까지 포함하여 조직 내 의사 결정을 지원하는 정보 관리 시스템으로 이용된다.

데이터 웨어하우스(DW) 개념은 미국의 컴퓨터 제조업체와 데이터베이스 관리 시스템(DBMS) 공급업체들이 제창하고 있다. DW를 이용함으로써 고객의 구매 동향, 신제품에 대한 반응도, 제품별 수익률 등 세밀한 마케팅 정보를 획득하는 것을 목표로 한다.

목적별 데이터뿐만 아니라 기업 활동에 관한 모든 정보를 전 회사 규모의 데이터베이스로 일원화하여 관리하므로 그 용량이 작게는 수백 GB에서 수 TB에 이른다. 따라서 대형 메인 프레임 등 종래의 플랫폼(platform)으로는 시간과 비용의 제약으로 곤란한데 병렬 서버기의 등장과 자기 디스크 장치의 대용량화/저가격화로 가능하게 되었다.

병렬 서버를 사용하면 하나의 검색 처리 요구를 분할하여 복수 프로세스로 병렬 처리함으로써 고속으로 검색할 수 있기 때문이다. 병렬 서버에 대응해서 관계형 데이터베이스 관리 시스템(RDBMS)을 사용한다.