마농님 말씀되로 조치를 해보았습니다.
그런데,,
ORA-01843 와 함께 OAR-02063가 함께 나옵니다.
아주 미쳐버리겠습니다.
그래서 컬럼을 전부 varchar2(8)로 수정을 하고 다시 해보았는데..결과는 같았습니다.
여기 나온 관계된 글을 찾아보니 "NLS_DATE_LANGUAGE" 수정 하면 된다고 해서 그것 까지 적용을 했는데도...ㅠ.ㅠ
OAR-02063 이 에러는 *********@****** 링크 걸면서 나는 에러라고 하는데 이것 또한 원인을 모르겠습니다.
내가 사용하는 DB TOOL은 ORACLE SQL DEVELOPER 인데...
전혀 ERROR가 나질 않습니다.
비슷한 경우도 프로그램에 많이 있는데...왜 이 쿼리만 이러는지 모르겠습니다.
TEST 환경은 다음과 같습니다.
- 다음 -
1) LOCAL에서 SQL TEST 했을때 문제 없음.
2) 개발 서버에 올리고 나서 TEST 했을때도 문제 없음
3) 실제 서버에 올리면 문제 발생
그래서 제가 만든 쿼리를 전부 올립니다.
한번만 더 봐주세요..!! 부탁드립니다.
죄송한 마음 급치못하고 있습니다.
SELECT A.PLANDATE
,A.PLANQTY
,A.ITEM
,D.ITEM_NAME
,A.RESOURCENAME
,A.STARTTIME
,A.ENDTIME
FROM (
SELECT C.QTY , C.ETA
,A.ITEM
,A.RESOURCENAME
,A.PLANDATE
,A.FPPLANID
,TO_CHAR(TO_DATE(A.STARTTIME,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS') STARTTIME
,TO_CHAR(TO_DATE(A.ENDTIME,'YYYY/MM/DD HH24:MI:SS'),'YYYY/MM/DD HH24:MI:SS') ENDTIME
,SUM(A.PLANQTY) PLANQTY
,B.TOTALQTY
,TRUNC(MOD((TO_DATE(A.ENDTIME, 'YYYYMMDDHH24MISS') - TO_DATE (A.STARTTIME, 'YYYYMMDDHH24MISS')),1) * 24) AS HOUR_TOT
,ROUND(MOD((TO_DATE(A.ENDTIME, 'YYYYMMDDHH24MISS') - TO_DATE (A.STARTTIME, 'YYYYMMDDHH24MISS')),1) * 24 * 60) AS MINUTE_TOT
FROM IF_FP_PLAN_REFERENCE A
,IJT_FP_METALINFOR B
,mst_inventory_mfg@FP_INJ_REAL C
WHERE 1=1
AND A.RESOURCENAME = B.RESOURCENAME(+)
AND A.SUBRESOURCENAME = B.SUBRESOURCE
AND A.ITEM = B.ITEM(+)
AND A.ITEM = C.ITEM(+)
AND C.ETA >= TO_CHAR(TO_DATE(SYSDATE - 60, 'YY/MM/DD','NLS_DATE_LANGUAGE=KOREAN'),'YY/MM/DD')
AND C.ETA = (SELECT MAX(ETA) FROM *********@****** WHERE ITEM = A.ITEM)
GROUP BY C.QTY, C.ETA, A.ITEM, A.RESOURCENAME, A.FPPLANID, A.PLANDATE, A.STARTTIME, A.ENDTIME , B.TOTALQTY
ORDER BY A.RESOURCENAME,A.PLANDATE,A.STARTTIME
) A,
(
SELECT RESOURCE_NAME
,TT_ITEM
,NVL(TRUNC((60 / REAL_TT ) * 60 * 24),0) AS REAL_COM
,NVL(TRUNC((60 / REAL_TT ) * 60),0) AS REAL_MIN
,REAL_TT
FROM IJT_FP_TACKTIME
WHERE 1=1
) B,
(
SELECT MODEL_NUMBER, DO_DATE , SUM(PLAN_QTY) AS PLAN_QTY
FROM IJT_DO_INFO
WHERE DO_DATE BETWEEN TO_CHAR(SYSDATE,'YYYYMMDD') AND TO_CHAR(SYSDATE + 3,'YYYYMMDD')
GROUP BY MODEL_NUMBER, DO_DATE
) C,
(
SELECT ITEM, ITEM_NAME, MODEL
FROM CORP_MASTER_ITEM
WHERE 1=1
) D
WHERE 1=1
AND A.ITEM = B.TT_ITEM(+)
AND A.ITEM = C.MODEL_NUMBER(+)
AND A.PLANDATE = TO_CHAR(TO_DATE(C.DO_DATE(+),'YYYYMMDD','NLS_DATE_LANGUAGE=KOREAN'),'YYYYMMDD')
AND A.RESOURCENAME = B.RESOURCE_NAME
AND A.ITEM = D.ITEM(+)
AND A.FPPLANID = '20121011'
AND A.PLANDATE BETWEEN '20121012' AND '20121012'
ORDER BY A.PLANDATE, A.RESOURCENAME, A.ITEM, A.STARTTIME, A.ENDTIME
미안하고 고맙습니다. |