코딩변환 질문드립니다.~ 0 2 667

by 켠서 [2019.08.03 14:57:52]


안녕하세요. ms sql코드를 oracle sql developer 11g 버전으로 변환하는데 있어서

오류가 생겨서 질문드립니다.

구글링하다가 처음에 varchar를 to_char로 바꿧고, DATEADD를 SYSDATE로 바꿧거든요 그리고 +를 ||로 변환했구용, 그 결과

에러코드가 ORA-00923 :FROM 키워드가 필요한 위치에 없습니다.

라고 뜨는데요. 

어떻게 하면 좋을까요?

코딩 고수분들 도와주세요~

 

SELECT a.person_id AS PERSON_ID,


  ##오류행##  to_char(SYSDATE||DAY||DATEPART(DD,SYSDATE||MONTH,1,to_char(a.dth_ym||'01',23))),SYSDATE||MONTH,1,to_char(a.dth_ym||'01',23))),23) as death_date,

  ##기존코드## convert(varchar, DATEADD(DAY,-DATEPART(DD,DATEADD(MONTH,1,convert(VARCHAR, a.dth_ym + '01' ,23))),DATEADD(MONTH,1,convert(VARCHAR, a.dth_ym + '01' ,23))), 23) AS DEATH_DATE,


    38003618 as death_type_concept_id,
    b.concept_id as cause_concept_id,
    dth_code1 as cause_source_value,
    NULL as cause_source_concept_id
FROM cohort_cdm.NHID_JK a left join death_mapping b
on a.dth_code1=b.kcdcode
WHERE a.dth_ym IS NOT NULL and a.dth_ym != ''

by jkson [2019.08.05 15:13:22]

왜 저렇게 복잡하게 했는지는 모르겠지만 dth_ym의 말일을 구하는 것 같은데..
to_char(last_day(to_date(dth_ym||'01','yyyymmdd')),'yyyymmdd') as death_date
맞는지 확인해보세요.


by 켠서 [2019.08.06 15:22:19]

감사합니다!!

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입