2011-05-02 3 views

답변

4

물론입니다. Case 표현식은 다른 표현식에 포함되어 있는지 알지 못합니다.

Select Case 
     When Foo = Bar Then 'Test0' 
     Else Case 
       When Gamma = Theta Then 'Test1' 
       End 
     End 

또 다른 방법은 다음과 같이 적재 할 때, 표정은 그들이 한 때 표현들을 평가까지 기록 된 순서대로 실행됩니다

Select Case 
     When Foo = Bar Then 'Test0' 
     When Gamma = Theta Then 'Test1' 
     Else 'Blah' 
     End 

단순히 표현을 스택하는 것입니다 : 각 사례의 발현은 최종 키워드를 필요 true (즉, Then 표현식 중 하나에 도달 함).

+0

+1 : 후자의 경우 예 : –

1

case이 어느 end과 같은지 확실하므로 괄호 또는 식별자 (또는 둘 다)를 사용하는 것이 좋습니다.

case when true then 
    ( case when false then 'test0' 
    else 'test1' 
    end 
) 
else 
    (case when false then 'test2' 
    else 'test3' 
    end 
) 
end 
+1

괄호를 추가해 주셔서 감사합니다. 논리 가독성을 위해 논리를 분리하는 데 도움이됩니다. –

1

코드가있는 것처럼 보입니다. 통역사가 끼워 넣기를 이해할 때 서로의 옆에 종말을 가져야합니다.