2014-04-08 2 views
1

이것은 어리석은 예제입니다. where 절에서 값을 명시 적으로 비교할 수있는 이유는 무엇입니까? 따라서 SQL은 필자가 원하는 동작의 어리 석음과 일치하도록 함수 정의의 어리 석음을 강요합니다. 어떤 경우 값이 다른 값과 일치하는지 확인하기 위해 SQL 함수를 만듭니다.

,이 같은 간단한 뭔가를 쓰고 싶습니다
return (@inputValue = expectedValue) 

그러나, SQL가 좋아하는 표시되지 않습니다.

If @inputValue = expectedValue 
    return 0 
Else 
    return 1 
return -1 

을하지만 특히 return 문 (SQL의 관점에서하지만 필요) 최종 불필요한로, 투박한 것 같다

이 작동합니다.

더 좋은 방법이 있나요? 감사.

답변

4

이것이처럼 CASE expression 사용에 대한 :

RETURN CASE WHEN @inputValue = expectedValue THEN 0 ELSE 1 END 

또는 같은

: 감사 작동

RETURN CASE @inputValue WHEN expectedValue THEN 0 ELSE 1 END 
+0

예. – user420667

관련 문제