2009-07-05 8 views
5

일부 음수 값이 반환됩니다. 나는 그들에게 단지 제로가되고 싶다. 값이 특정 값보다 낮 으면 0을 반환하는 SQL 쿼리에 조건을 작성하려면 어떻게해야합니까?T-SQL에서 If-Then-Else를 작성하는 방법

졸 : 당신은 (당신이 그들을 사용하지만 다른 뭔가를 먹으 렴 수) 경우 - 다음 - 그밖에 실제 쿼리에 사용 해달라고

CASE WHEN CONVERT(float,dt.FQI53X02_101) < 1.3 THEN 0 ELSE CONVERT(float,dt.FQI53X02_101) END AS FQI53X02_101 

답변

7

...

당신이 사용하는 사례 문입니다. .. 시도해보십시오

Select 
    Case When [Value] < 0 Then 0 Else [Value] End 
From 
    Example 
+0

당신의 sugestion 내 변화가있다 "DT를 선택 * 케이스 FQI53X02_101 <1.3 그리고 0. Else FQI53X02_101 hhh로 끝내십시오 "덜 변하는 연산자에서 오류가 발생했습니다 ... 이유가 무엇입니까? – Brad

+0

알겠습니다."변환 할 때 (float, dt.FQI53X02_101) <1.3 그 다음 0을 변환 할 때 (float, dt.FQI53X02_101) END AS FQI53X02_101 " – Brad

5

쿼리의 일부로 원하면 CASE 문 안에 반환하십시오. MSDN에서 예

SELECT  'Price Category' = 

     CASE 

      WHEN price IS NULL THEN 'Not yet priced' 

      WHEN price < 10 THEN 'Very Reasonable Title' 

      WHEN price >= 10 and price < 20 THEN 'Coffee Table Title' 

      ELSE 'Expensive book!' 

     END, 

    CAST(title AS varchar(20)) AS 'Shortened Title' 

FROM titles 

ORDER BY price 
2
(ABS(Value) + Value)/2 

편집 아래 -이 작동하지 않습니다 이제 문제는 변경

+0

좋은 소식입니다. +1 (15자를 얻기위한 쓰레기) – Burkhard

관련 문제