2010-07-27 22 views
6

के साथ एक शून्य बिट का चयन करें, मुझे दृश्य में एक शून्य बिट कॉलम चुनने की आवश्यकता है, लेकिन जब भी मान शून्य होता है तो FALSE के डिफ़ॉल्ट मान का उपयोग करें। (अन्य कारणों से, मैं स्रोत तालिका पर डिफ़ॉल्ट मान नहीं जोड़ सकता हूं।) यह वही है जो मैं कर रहा हूं।डिफ़ॉल्ट मान

CAST 
(
    CASE 
    WHEN bit_column IS NULL THEN 0 
    ELSE bit_column 
END 
    AS BIT 
) AS bit_column, 
... 

मुझे इसे चार कॉलम पर करना है, इसलिए मुझे आश्चर्य है कि ऐसा करने के लिए एक बेहतर/अधिक प्रभावी तरीका है या नहीं।

उत्तर

9

isnull समारोह का उपयोग करें।

isnull(bit_column, 0) 
5
SELECT coalesce(bit_column,0) bit_column 
+0

पर एक नज़र क्या डेटाप्रकार ग्राहक को भेज दिया जाएगा ले लो? int या बिट? – gbn

+0

ग्राहक को थोड़ा सा भेजा जाएगा। – xcer

+0

अच्छा सवाल, मैंने इसका शोध किया और यह लिंक पाया: http://databases.aspfaq.com/database/coalesce-vs-isnull-sql.html वहां से, "COALESCE एक CASE अभिव्यक्ति की तरह काम करता है, जो एक एकल डेटाटाइप देता है परिशुद्धता के आधार पर और सभी संभावित परिणामों को समायोजित करने के आधार पर "। तो मुझे यकीन नहीं है। लेकिन ग्राहक पक्ष पर, 0 या 1 थोड़ा या एक int में फिट होगा, इसलिए मुझे यकीन नहीं है कि यह महत्वपूर्ण है। – dcp

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