2016-09-27 5 views
0

나는이 쿼리했다 :SQL 서버 return 문

SELECT t.price/100 as P 
FROM mytable.user as t 
WHERE t.price = ?; 

을하지만 난 매개 변수 값이 SQL 오류를 방지하기 위해 SELECT 전에 0 인 경우 확인하려면, 그래서 나는이 시도했다 :

IF (CAST(? AS float) = 0) 
BEGIN 
    RETURN 0 
END 
ELSE 
BEGIN 
    SELECT t.price/100 as P 
    FROM mytable.user as t 
    WHERE t.price = ? 
END; 

반환 값이있는 RETURN 문이 상황에서 사용할 수 없습니다

는하지만 난이 오류 메시지가 (3 호선)을 가지고있다.

+1

보기 또는 절차입니까? 문맥이란 무엇입니까? – qub1n

+0

't.price = 0'이 SQL 오류를 일으키는 이유는 무엇입니까? – Paddy

+0

P로 t.price/100을 선택하면 오류가 발생합니다 ... –

답변

0

대신 0을 p로 사용하여 return 0을 사용하지 마십시오. 샘플은 다음과 같습니다.

IF (CAST(? AS float) = 0) 
BEGIN 
    select 0 as P 
END 
ELSE 
BEGIN 
    SELECT t.price/100 as P 
    FROM mytable.user as t 
    WHERE t.price = ? 
END; 
+0

고마워요, 작동합니다! –