쿼리 질문입니다. 0 1 1,845

by 손님 [SQL Query] 쿼리 [2010.02.04 10:44:26]



쿼리가 아래 형태로 되어있습니다.

WHERE 조건에서 A.JEJOTM 컬럼에 함수가 걸려있어 인덱스를 타지 못하여

너무 늦네요..

DATE 타입이라 시간이 걸려있어

TO_CHAR로 변형하지않고 조건을 걸 방법이 생각나지 않네요

함수를 걸지 않고 비교할수있는 방법좀 알려주세요

 

A.JEJOTM= '2010-02-04' 이런형식으로 비교시 시간까지 비교되지 못하여

값이 나오지않네요

 

   SELECT A.HTLOTNO,   -- LOT번호
   C.MIXKG,     -- 무게
   C.S_BATCHNO,     -- 시작배치  
   C.E_BATCHNO,     -- 종료배치
   TO_CHAR(A.JEJOTM, 'YYYY-MM-DD HH24:MI:SS') AS JEJOTM,   -- 제조시간
   A.EQPTCD,    -- 설비코드
   D.EQPTNM,    -- 설비명
   A.WKEMPNO,   -- 작업자 사번
   E.EMPNM,     -- 작업자 명
   F.ITEM_NAME,     -- 품목명
   F.ITEM_SPEC -- 품목규격
  FROM HTLOTJ A
   LEFT OUTER JOIN ( SELECT B.HTLOTNO,
    SUBSTR(MIN(B.BATCHNO), 15, 3) AS S_BATCHNO,
    SUBSTR(MAX(B.BATCHNO), 15, 3) AS E_BATCHNO,
    SUM(MIXKG) AS MIXKG
   FROM MIXLOTNO_BATCHNO B
  WHERE B.SAUPCD = '20'
  GROUP BY B.HTLOTNO ) C ON C.HTLOTNO = A.HTLOTNO
   LEFT OUTER JOIN INF.EQPT D ON D.EQPTCD = A.EQPTCD
   LEFT OUTER JOIN INF.WKEMPNO E ON E.EMPNO = A.WKEMPNO
   LEFT OUTER JOIN INF.ITEM F ON A.HTITEM = F.ITEMCD
WHERE A.SAUPCD = '20'
   AND A.ROUTCD = '10'
   AND A.EQPTCD = IV_EQPTCD
   --AND A.JEJOTM BETWEEN SYSDATE - 1 AND SYSDATE
   AND TO_CHAR(A.JEJOTM, 'YYYY-MM-DD') = ID_JISIDT

by 마농 [2010.02.04 10:55:21]
AND a.jejotm >= TO_DATE('2010-02-04', 'yyyy-mm-dd')
AND a.jejotm < TO_DATE('2010-02-04', 'yyyy-mm-dd') + 1
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입