2009-07-05 19 views
5

मैं एक प्रश्न से वापस आ रहा कुछ नकारात्मक मान में एक हैं-तो-वरना बना सकता हूँ। मैं उन्हें सिर्फ शून्य होना चाहता हूं। मैं अपनी एसक्यूएल क्वेरी में एक शर्त कैसे लिखूं जो शून्य मान देता है यदि मान किसी निश्चित मान से नीचे है।मैं कैसे T-SQL

सोल:

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

उत्तर

7

आप का उपयोग करते हैं-तो-वरना वास्तविक क्वेरी में (आप उन्हें प्रयोग लेकिन कुछ और thats कर सकते हैं) न ...

क्या आप का उपयोग एक प्रकरण बयान है। .. इस

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

अपने sugestion की मेरी भिन्नता है: "डीटी चयन *, केस FQI53X02_101 जब <1.3 तब 0। अन्यथा FQI53X02_101 एचएच के रूप में समाप्त होता है "मुझे कम से कम ऑपरेटर पर एक त्रुटि मिलती है ... क्यों नहीं – Brad

+0

ठीक है मुझे यह मिला" जब कन्वर्ट (फ्लोट, डीटी.एफक्यूआई 53X02_101) <1.3 फिर 0 ईएलएसई कनवर्टर (फ्लोट, dt.FQI53X02_101) END AS FQI53X02_101 " – Brad

5

यदि आप इसे अपनी क्वेरी के हिस्से के रूप में चाहते हैं, तो एक केस स्टेटमेंट के अंदर वापसी को लपेटें। 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

संबंधित मुद्दे