쿼리문 질문드립니다~ 0 2 378

by 켠서 [2019.08.20 16:56:50]


안녕하세요.

ms sql 버전을 oracle sql 버전으로 변환하는 작업을 하고있는데용

ms sql에는 convert를 사용하고 oracle sql에는 사용하지 않는다고 하네요

convert(bigint, convert(varchar, a.master_seq) + convert(varchar, row_number() over (partition by a.key_seq, a.seq_no order by b.concept_id))) as procedure_occurrence_id, <-

이 ms sql 문장을

to_number(to_char(a.master_seq) || to_char(row_number() over (partition by a.key_seq, a.seq_no order by b.concept_id))) as procedure_occurrence_id

oracle sql 이렇게 바꿔도 갠찮을가용??

 

by 마농 [2019.08.20 17:18:13]

to_char 빼도 됩니다. 붙여도 상관은 없구요.
TO_NUMBER(a.master_seq || ROW_NUMBER() OVER(PARTITION BY a.key_seq, a.seq_no ORDER BY b.concept_id)) AS procedure_occurrence_id
그런데, 이게 과연 맞는 쿼리인지 의문이네요?
예를 들어
master_seq 1 에 row_number 11 인 경우와
master_seq 11 에 row_number 1 인 경우가
결과가 111 로 동일하게 나올텐데요?


by 켠서 [2019.08.21 17:04:26]

항상 도움 주셔서 감사합니다. ms sql 버전의 쿼리를 깃허브에서 가져와서 변환시키고 있거든요, 가령 저 코드가 안맞다면 오라클에서는 어떻게 변환해야 좋을가요?..

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