text
और ntext
बहिष्कृत हैं, इसलिए उन्हें एक पल के लिए छोड़ दें। जो बचा है उसके लिए 3 आयाम हैं:
- यूनिकोड (UCS-2) बनाम गैर-यूनिकोड:
N
नाम के आगे यूनिकोड को दर्शाता है - निश्चित लंबाई बनाम चर लंबाई:
var
चर को दर्शाता है, अन्यथा निश्चित - इन-पंक्ति बनाम बीएलओबी:
(max)
लंबाई के रूप में एक BLOB को दर्शाता है, अन्यथा एक पंक्ति में मान है
तो इससे आप किसी भी प्रकार का अर्थ पढ़ सकते हैं:
CHAR(10)
:एक इन-पंक्ति निश्चित लंबाई है जो आकार 10 का गैर-यूनिकोड हैNVARCHAR(256)
:एक इन-पंक्ति चर लंबाई है जिसका आकार 256 तक का यूनिकोड हैVARCHAR(MAX)
:एक BLOB चर लंबाई गैर-यूनिकोड है
बहिष्कृत प्रकार text
और ntext
नए प्रकार के अनुरूप varchar(max)
और nvarchar(max)
क्रमशः।
जब आप विवरण पर जाते हैं, तो in-row
का अर्थ होता है बनाम BLOB
इंजन के रूप में छोटी लंबाई के लिए धुंधलापन हो सकता है भंडारण का अनुकूलन करें और एक BLOB इन-पंक्ति खींचें या एक इन-पंक्ति मान को 'छोटी BLOB' आवंटन इकाई में धकेलें, लेकिन यह केवल एक कार्यान्वयन विवरण है। देखें तालिका और अनुक्रमणिका संगठन
।
प्रोग्रामिंग की दृष्टि से, सभी प्रकार:CHAR
, VARCHAR
, NCHAR
, NVARCHAR
, VARCHAR(MAX)
और NVARCHAR(MAX)
, एक समान स्ट्रिंग API का समर्थन करें:स्ट्रिंग फ़ंक्शंस
. पुराना, बहिष्कृत, टाइप करता है TEXT
और NTEXT
करो नहीं इस एपीआई का समर्थन करते हैं, उनके पास हेरफेर करने के लिए एक अलग, बहिष्कृत, टेक्स्ट एपीआई है। आपको बहिष्कृत प्रकारों का उपयोग नहीं करना चाहिए।
BLOB प्रकार UPDATE table SET column.WRITE(@value, @offset)
वाक्य रचना।
तालिका पर पंक्ति-संपीड़न होने पर निश्चित-लंबाई और चर लंबाई प्रकारों के बीच का अंतर गायब हो जाता है। पंक्ति-संपीड़न सक्षम होने पर, निश्चित लंबाई के प्रकार और चर लंबाई को एक ही प्रारूप में संग्रहीत किया जाता है और पिछली जगहों को डिस्क पर संग्रहीत नहीं किया जाता है, देखें पंक्ति संपीड़न कार्यान्वयन . ध्यान दें कि पृष्ठ-संपीड़न का अर्थ पंक्ति-संपीड़न है।