2010-12-29 9 views
0

SQL 쿼리에서 오류를 처리하려면 어떻게합니까?

SQL 쿼리의 경우 ..

select Quantity_Books/datepart(hour,Rent_Hour) from Rent_Book where (some conditions..) 

datepart (hour, Rent_Hour)가 0 일 때 오류를 반환합니다.

그런 일이 발생하면 0을 표시하고 싶습니다.

I 내가 case when를 사용해야한다는 것을 알고있다. 그러나 나는 정말로 모른다. ..

또는 다른 더 좋은 방법?

답변

3

당신은 단순히 당신이 의미하는 NULL 규칙

ISNULL((Quantity_Books/(NULLIF(datepart(hour,Rent_Hour), 0))), 0) 
+0

를 사용, 또는

select CASE WHEN datepart(hour,Rent_Hour) = 0 THEN 0 ELSE Quantity_Books/datepart(hour,Rent_Hour) END from Rent_Book where (some conditions..) 

먼저 값을 테스트하는 것입니다 .. ISNULL ((Quantity_Books/(NULLIF (날짜 부분 (시간을 선택, Rent_Hour), 0))), 0) Rent_Book에서 (일부 조건 ..) .... ??? – william

+0

@ 윌리엄 : 예, 명확하지 않은 경우 미안합니다 – gbn

+0

확인. Tkz 많이 .. – william

0
select case when datepart(hour,Rent_Hour)<>0 then Quantity_Books/datepart(hour,Rent_Hour) else 0 end as col ... 
관련 문제