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

SQL सर्वर में विभिन्न स्ट्रिंग प्रकारों के बीच अंतर?

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) वाक्य रचना।

तालिका पर पंक्ति-संपीड़न होने पर निश्चित-लंबाई और चर लंबाई प्रकारों के बीच का अंतर गायब हो जाता है। पंक्ति-संपीड़न सक्षम होने पर, निश्चित लंबाई के प्रकार और चर लंबाई को एक ही प्रारूप में संग्रहीत किया जाता है और पिछली जगहों को डिस्क पर संग्रहीत नहीं किया जाता है, देखें पंक्ति संपीड़न कार्यान्वयन . ध्यान दें कि पृष्ठ-संपीड़न का अर्थ पंक्ति-संपीड़न है।



  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 सर्वर में दिनांक और समय डेटा प्रकारों के बीच कनवर्ट करना (T-SQL उदाहरण)

  2. SQL सर्वर में UNIX_TIMESTAMP

  3. एसक्यूएल एक कॉलम में एकाधिक कॉलम प्राप्त कर रहा है

  4. वेतन तालिका से तीसरा या शून्य अधिकतम वेतन कैसे प्राप्त करें?

  5. एसक्यूएल समारोह में तारीख के अलावा