2013-06-07 5 views
6

यह MSDN page कहता है:एक निरर्थक पंक्तिवर्ती कॉलम अर्थात् एक varbinary (8) के बराबर है?

एक nonnullable rowversion स्तंभ शब्दार्थ एक बाइनरी (8) स्तंभ के बराबर है। एक निरर्थक पंक्तिवर्ती कॉलम एक varbinary (8) कॉलम के बराबर है।

यह देखते हुए कि एक nonnullable rowversion स्तंभ शब्दार्थ एक बाइनरी (8) स्तंभ के बराबर है, क्यों कहते हैं कि एक नल rowversion स्तंभ शब्दार्थ एक varbinary (8) स्तंभ और नहीं एक नल बाइनरी (8) स्तंभ के बराबर है?

क्या इसका मतलब है कि एक नालीदार पंक्तिवर्ती कॉलम अर्थात् अर्थपूर्ण रूप से एक नालीदार बाइनरी (8) कॉलम के बराबर नहीं है?

मेरा विशेष उदाहरण यह है कि मेरे पास एक सारणी होगी जिसमें अन्य तालिकाओं से पंक्तियों की प्रतियां होंगी। कुछ स्रोत तालिकाओं में एक पंक्तिवर्ती है और अन्य नहीं हैं। इसलिए, मेरी तालिका में "पंक्तिवृत्त" कॉलम को शून्य मान स्वीकार करना होगा। मैं समझना चाहता हूं क्यों (या अगर) स्तंभ बाइनरी (8) शून्य के बजाय varbinary (8) शून्य होना चाहिए।

+0

@Andomar मैंने अपने प्रश्न को अद्यतन करने के लिए अद्यतन किया है कि मैं क्यों जानना चाहता हूं। –

+0

बढ़िया, अब बेहतर है। हालांकि एक करीबी वोट वापस नहीं ले सकते हैं। – Andomar

+2

प्रकार का एक कॉलम 'बाइनरी (8) '** ** ** ** में 8 बाइट स्टोरेज होते हैं - भले ही इसमें क्या संग्रहीत किया जाता है - यहां तक ​​कि' न्यूल 'भी। इसके एक शून्य संस्करण - 'varbinary (8) '- हालांकि वास्तव में केवल उतनी ही जगह पर कब्जा कर लेगा जितना वास्तव में जरूरी है (साथ ही कुछ ओवरहेड)। –

उत्तर

1

एक बाइनरी (8) एक बाइनरी है जिसमें सटीक 8 बाइट हैं। एक varbinary (8) एक बाइनरी है जो 8 बाइट तक है। एक शून्य 0 बाइट्स है। यह एक ऐसा फॉर्म होना चाहिए जिसमें 0 या 8 बाइट हो। इस प्रकार यह varbinary होना चाहिए।

+0

एह ... मैं इसे नहीं खरीदता हूं। विशेष रूप से, मेरे पास एक नालीदार बाइनरी (8) (या कोई अन्य निश्चित चौड़ाई डेटा प्रकार) हो सकता है। –

+0

क्या खरीदना नहीं है? डेटा पंक्ति के लिए अलग बाइट पर अलग-अलग बिट्स में शून्य मान दर्ज किए जाते हैं। पहला नलिका कॉलम स्टोरेज में एक बाइट जोड़ता है, और उसके बाद प्रत्येक आठवां नालीबल स्टोरेज में बाइट जोड़ता है।'नल नेस' को पंक्ति के 'हेडर' पर मूर्तिक रूप से संग्रहीत किया जाता है। एक बार जब शून्य के लिए उस बिट को शून्य के लिए जोड़ा जाता है, तो यह एक varbinary के समान भंडारण होता है। – jerrylagrou

+0

मैं कह रहा हूं कि एक कॉलम की निरर्थक विशेषता और क्या यह एक अलग लंबाई कॉलम है ओर्थोगोनल अवधारणाएं हैं। इस मामले के लिए विशिष्ट, पंक्तिवर्धक कॉलम की शून्यता क्यों जरूरी है कि यह एक varbinay (8) न्यूल और बाइनरी (8) शून्य नहीं है? पूर्व का तात्पर्य यह है कि यह किसी भी लंबाई (और सहित) 8 बाइट्स (या शून्य) के बाइनरी मान हो सकता है जबकि बाद वाला यह दर्शाता है कि यह 8 बाइट्स (या शून्य) का बाइनरी मान हो सकता है। –

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