के लिए बहुत सारे झंडे को कैसे संभालना है मुझे अपने SQL2k8 तालिका में अपेक्षाकृत बड़े झंडे को कैसे संभालना है, इस बारे में सलाह चाहिए।एसक्यूएल रिकॉर्ड
दो सवाल है, मेरे साथ सहन :)
चलो कहते हैं कि मैं 20 झंडे मैं एक रिकार्ड के लिए स्टोर करने के लिए करना चाहते हैं तो कृपया।
उदाहरण के लिए:
CanRead = 0x1 CanWrite = 0x2 CanModify = 0x4 ... और इतने अंतिम ध्वज को पर 2^20
अब, अगर मैं के निम्नलिखित संयोजन सेट एक रिकॉर्ड: अनुमतियाँ = CanRead | CanWrite
मैं आसानी से देख सकते हैं कि रिकॉर्ड करने से अनुमति की आवश्यकता नहीं है कि क्या कहां (अनुमतियां & CanRead) = CanRead
काम करता है।
लेकिन, मैं उन सभी रिकॉर्ड्स को भी पुनर्प्राप्त करना चाहूंगा जो या तो लिख सकते हैं या संशोधित कर सकते हैं।
यदि मैं कहां जारी करता हूं (अनुमति & (CanWrite | CanModify)) = (CanWrite | CanModify) मुझे स्पष्ट रूप से मेरा रिकॉर्ड नहीं मिलेगा जिसमें कैनरेड पर अनुमतियां हैं। CanWrite
दूसरे शब्दों में, मैं अपने मास्क में किसी भी झंडे से मेल खाने वाले रिकॉर्ड कैसे प्राप्त कर सकता हूं जो मैं प्रक्रिया में भेज रहा हूं?
दूसरा प्रश्न, SQL 2008 में कितना सक्षम है? क्या वास्तव में 20 बिट फ़ील्ड बनाने के लिए बेहतर होगा?
आपकी मदद
-1 क्योंकि तार्किक और/या बिटवाई और/| के समान नहीं हैं। –
वे हैं, जैसा कि पोस्टर ने सुझाव दिया है, प्रत्येक फ़ील्ड में केवल एक बिट है। –
इसे एक साधारण उदाहरण के उदाहरण के रूप में लें, जो कि बिट मानों से निपटने के दौरान आपको आवश्यक है। मेरा इरादा एक विशिष्ट क्वेरी को पुन: पेश नहीं करना था। – VVS