Q&A

  • 오라클에서 case문을 대체할 수 있는 함수가 있는지여??
MS SQL을 Oracle로 변환하는중 CASE문을 대체할만한 함수를 못찾았어염...ㅠ.ㅠ

간단한거는 DECODE로 처리를 했습니다... 그런데...바꾸기 아주아주 힘든게 있어서여..

여러 고수님들께 자문을 구합니다..



----------------------------------------------------------------------------------

select case when (start_date>'2000-05-21') and (end_date = '') then '2000-05-21'

else

case when start_bill_date > '2000-05-21' then start_bill_date

else '2000-05-21'

end

end

from cust_master

----------------------------------------------------------------------------------



위와 같은 case문은 오라클에서 어떻게 표현하는지 알려주세요...진짜 급해여...ㅠ.ㅠ



1  COMMENTS
  • Profile
    문홍철 2000.08.17 20:12
    제 짧은 지식으로는 없는걸로 알고 있습니다.

    제가 오라클을 처음할때 오라클기능중에서 Decode가 막강하다고

    했는데 MSSQL의 case에 비하면 새발의 피같은 생각이 듭니다.

    case문에는 query로 분기할수도 있고요.

    저도 MSSQL로 만든 권한 프로그램을 oracle로 옮기면서 다시 만든적이 있습니다.

    속도도 튜닝만 잘하면 결코뒤지지 않고요

    오히려 union join같은경우는 오라클이 더 느렸습니다.

    물론 충분한 테스트는 아였습니다만...

    저의 짧은 소견이었습니다.







    최병옥 wrote:

    > MS SQL을 Oracle로 변환하는중 CASE문을 대체할만한 함수를 못찾았어염...ㅠ.ㅠ

    > 간단한거는 DECODE로 처리를 했습니다... 그런데...바꾸기 아주아주 힘든게 있어서여..

    > 여러 고수님들께 자문을 구합니다..

    >

    > ----------------------------------------------------------------------------------

    > select case when (start_date>'2000-05-21') and (end_date = '') then '2000-05-21'

    > else

    > case when start_bill_date > '2000-05-21' then start_bill_date

    > else '2000-05-21'

    > end

    > end

    > from cust_master

    > ----------------------------------------------------------------------------------

    >

    > 위와 같은 case문은 오라클에서 어떻게 표현하는지 알려주세요...진짜 급해여...ㅠ.ㅠ

    >