Q&A

  • 쿼리문 좀 봐주세요...

안뇽하세요..

오늘 질문을 좀 많이 하네요..

다름이 아니오라


SUM(DECODE(X.SCH_DATE,  :adt_start_date , X.PLAN_QTY))          AS PLAN_MON_QTY,
SUM(DECODE(X.SCH_DATE,  :adt_start_date +1 , X.PLAN_QTY))          AS PLAN_TUE_QTY

전체는 아니고 일부분인데요

첫줄은 월요일날 계획수량합계이구요

둘째줄은 화요일날 계획수량합계입니다..

그래서 월요일은 :adt_start_date 이고 화요일은 :adt_start_date + 1 인데

파빌에서 쿼리문 쓸때는 이렇게 쓰면 문제 없이 돌아가는데

델파이에서는 :adt_start_date + 1 부분에서 에러가 발생하더군요..

ORA-00932 데이타 유형이 일치하지 않습니다.

디비는 오라클 7을 씁니다.  델파이에서는 어떻게 표현해야합니까??

답변부탁드립니다.
5  COMMENTS
  • Profile
    KDDG_ZZOM 2002.09.06 03:16
    그냥 문자로날려서 쿼리에서 해겨해보세요...
    파라미터로 '20020905'로 대입해서
    오라클의 to_char,to_date함수를 이용하시면 될것같네요...
    오라클의 편리한 기능중에 하나이거든요...
    즐프하세요...

  • Profile
    김상수 2002.09.06 05:04

    제가 하고자 하는 것은 :adt_start_date 의 파라미터는 그주의 월요일을

    값으로 받아옵니다..

    그런데 거기다 to_char() 함수를 써서 특정일(20020905)를 넣을 수는 없는 문제 인거 같은데요 ㅡㅡ"

    음 그러니깐 제가 하고 싶은 말은

    SUM(DECODE(X.SCH_DATE,  :adt_start_date +1 , X.PLAN_QTY))          AS PLAN_TUE_QTY

    여기에서 :adt_start_date+1 을  에러가 안나게 다르게 표현하는 방법을 묻고

    싶습니다... :adt_start_date 의 그 다음날을 받을 수 있게요...^^;

    아무튼 답변 감사드리구요...

    수고하세요

  • Profile
    김상수 2002.09.06 01:21

    질문 올리고 이렇게 함 바꿔 봤습니다...

    SUM(DECODE(X.SCH_DATE,  :adt_start_date , X.PLAN_QTY))          AS PLAN_MON_QTY,
    SUM(DECODE(X.SCH_DATE,  :adt_start_date +1 , X.PLAN_QTY))          AS PLAN_TUE_QTY
    -------------------------------------------------------------------
    :adt_start_date +1 을  :adt_start_date1 으로 주고

    SUM(DECODE(X.SCH_DATE,  :adt_start_date1 , X.PLAN_QTY))          AS PLAN_TUE_QTY

    [소스]

    with DM.query5 do begin
    close;
    ParamByName('adt_start_date').Asdatetime:= ldt_start_date;
    ParamByName('adt_start_date1').Asdatetime:= ldt_start_date + 1;
    open;
    end;

    이렇게 하니깐 되기는 되는데 1주일을 이런 식으로 하니깐 너무 지저분하네요

    처음처럼 그냥 :adt_start_date + 1 이렇게 할 수 있는 방법이 없겠습니까

    ' ', " "은 다 해봤는데 안되더라구요...

    답변 부탁드립니다..그럼 이만



  • Profile
    김영남 2002.09.06 00:37
    datatype문제인듯 한데요?

    파라미터를 넘기는 부분의 컴포넌트 및 데이터의 데이터타입...

    또 그 벨류를 안봐서 모르겠지만...

    오라클에서 Date Type의 일자형 포맷과...

    델파이에서 호스트 변수로 넘겨준 데이터의 일자형 포맷을 먼저 맞춰 보시죠?

    에겅...^^ 허접 답인가?
  • Profile
    김상수 2002.09.06 00:55

    답변 잘 받았습니다..

    저도 초보라 잘은 모르지만
      
    포멧 형식이 맞지 않아 그런거 같지는 않은데요

    질문을 잘 보시면 다른 부분은 괜찮은데

    다음 날을 구하는 :adt_start_date + 1 여기 부분만 에러가 납니다

    조회조건 주는 부분이나 그냥 :adt_start_date 하는 부분은 이상이 없구요

    포멧 형식이 잘못되었다면 전체가 다 에러가 나야하지 않을까 싶네요

    그럼 이만

    아무튼 답변 감사드립니다...^^;