MySQL: कॉलम से पूछताछ कैसे करें जिसका प्रकार थोड़ा है?




select bit (4)

हाय मैं हाइबरनेट और माइस्क्ल का उपयोग कर रहा हूँ। मेरे पास 'सक्रिय' नामक बूलियन विशेषता वाला एक वर्ग है।

जेनरेट की गई डेटाबेस तालिका में बीआईटी डेटा प्रकार है। अब तक सब ठीक है। मैं इस मूल्य से पूछना चाहता हूं लेकिन मुझे नहीं पता कि यह कैसे करना है। मैंने कोशिश की

 SELECT * from table where active = 1

काम नहीं करता, न तो निम्नलिखित

 SELECT * from table where active = true

मुझे संदर्भ मैनुअल में और न ही स्टैकव्लोफ में कुछ भी नहीं मिला।

कोई संकेत?

अग्रिम में धन्यवाद!


असल में MySQL अंतर्निहित बिट अक्षर है:

select*from table where active = 0b1

क्या आपने तुलना के लिए इसे इंटीजर में कास्ट करने का प्रयास किया है

SELECT * from table where cast(active as unsigned) = 1

मैं ज्यादातर समय एमएस एसक्यूएल का उपयोग करता हूं इसलिए मुझे माफ़ कर दो अगर यह काम नहीं करता है क्योंकि मैं इसका परीक्षण नहीं कर सकता।


बिट मान निर्दिष्ट करने के लिए, b'value 'नोटेशन का उपयोग किया जा सकता है।


इस पृष्ठ के अनुसार, बीआईटी 5.0.3 से पहले संस्करणों के लिए TINYINT (1) का पर्याय है।

क्या आपने ये कोशिश की है?

SELECT * from table where active = (1)
SELECT * from table where active = 'true'
SELECT * from table where active = b'1'

यह ब्लॉग एंट्री बीआईटी डेटा प्रकार से पूरी तरह से बचने का सुझाव देती है।








bit