Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

एक SQL सर्वर में एम्परसेंड (&) ऑपरेटर जहां क्लॉज

&बिटवाइज़ लॉजिकल और ऑपरेटर है - यह 2 पूर्णांक मानों पर ऑपरेशन करता है।

WHERE (sc.Attributes & 1) = 0 

उपरोक्त कोड यह देखने के लिए जांचता है कि क्या sc.Attributes एक सम संख्या है। जो यह कहने के समान है कि पहला बिट सेट नहीं है।

हालांकि कॉलम के नाम के कारण:"विशेषताएं", तो "1" मान शायद कुछ ध्वज है जिसका कुछ बाहरी अर्थ है।

विशेषताओं के लिए किसी संख्या में संग्रहीत प्रत्येक ध्वज के लिए 1 बाइनरी अंक का उपयोग करना आम है। तो पहली बिट के लिए परीक्षण करने के लिए आप sc.Attributes&1 का उपयोग करते हैं, दूसरे के लिए परीक्षण करने के लिए आप sc.Attributes&2 का उपयोग करते हैं, तीसरे के लिए परीक्षण करने के लिए आप sc.Attributes&4 का उपयोग करते हैं, चौथे के लिए परीक्षण करने के लिए sc.Attributes&8, ...

=0 भाग यह देखने के लिए परीक्षण कर रहा है कि क्या पहला बिट सेट नहीं है।

कुछ बाइनरी उदाहरण:(==ऑपरेशन का परिणाम दिखाने के लिए)

//Check if the first bit is set, same as sc.Attributes&1
11111111 & 00000001 == 1
11111110 & 00000001 == 0
00000001 & 00000001 == 1


//Check if the third bit is set, same as sc.Attributes&4
11111111 & 00000100 == 1
11111011 & 00000100 == 0
00000100 & 00000100 == 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर तालिका में मौजूदा कॉलम में डिफ़ॉल्ट बाधा कैसे जोड़ें - SQL सर्वर / TSQL ट्यूटोरियल भाग 91

  2. मैं एक SQL सर्वर VARBINARY कॉलम में बाइट [] कैसे सम्मिलित करूं?

  3. वीएस 2010 .net 4.0 में इकाई ढांचे का उपयोग करते समय 'डेटाटाइम 2' त्रुटि

  4. छवि स्टोर के रूप में SQL सर्वर का उपयोग करना

  5. SQL सर्वर तालिका में एक कॉलम की पहचान संपत्ति को कैसे छोड़ें - SQL सर्वर / T-SQL ट्यूटोरियल 44