रिटर्न बिट मान 1/0 के रूप में और SQL सर्वर में सही/गलत नहीं है




select bit (3)

अपनी इच्छित क्वेरी को उत्पन्न करने के लिए अपनी क्वेरी को संशोधित करें।

उन्हें int में कास्टिंग करने का प्रयास करें:

select cast(bitFlag as int)

या, यदि आप चाहें, तो case उपयोग करें:

select (case when bitFlag = 0 then 0 else 1 end)

मेरे पास बिटवैलू कॉलम के साथ SQL Server 2000 में एक तालिका है। लेकिन, यह SQL सर्वर प्रबंधन स्टूडियो में True / False के रूप में प्रदर्शित किया जा रहा है। जब मैं Select * from Tablename एक Select * from Tablename करता हूं तो यह बिटवैल्यू कॉलम मानों को True / False के रूप में देता है। मैं इसे सही / गलत के बजाय बिट्स (1/0) के रूप में मान वापस करने के लिए कैसे मजबूर करूं? किसी भी मदद की वास्तव में सराहना की जाएगी?


इस उदाहरण की तरह CASE WHEN इसे CASE WHEN का उपयोग करके 0/1 में बदला जा सकता है:

SELECT 
 CASE WHEN SchemaName.TableName.BitFieldName = 'true' THEN 1 ELSE 0 END AS 'bit Value' 
 FROM SchemaName.TableName

इस स्क्रिप्ट के साथ प्रयास करें, शायद उपयोगी हो जाएगा:

SELECT CAST('TRUE' as bit) -- RETURN 1
SELECT CAST('FALSE' as bit) --RETURN 0

वैसे भी मैं हमेशा 1 या 0 के मान का उपयोग करता हूं (सत्य या गलत नहीं)। आपके उदाहरण के बाद, अद्यतन स्क्रिप्ट होगी:

Update Table Set BitField=CAST('TRUE' as bit) Where ID=1




bit