जवाबों:
मैक्स। क्षमता 2 गीगाबाइट स्थान है - इसलिए आप केवल 1 बिलियन 2-बाइट वर्णों को देख रहे हैं जो एक NVARCHAR(MAX)क्षेत्र में फिट होंगे ।
अन्य उत्तर की अधिक विस्तृत संख्याओं का उपयोग करते हुए, आपको स्टोर करने में सक्षम होना चाहिए
(2 ^ 31 - 1 - 2) / 2 = 1'073'741'822 double-byte characters
1 billion, 73 million, 741 thousand and 822 characters to be precise
आपके NVARCHAR(MAX)कॉलम में (दुर्भाग्यवश, वह अंतिम आधा पात्र व्यर्थ है ...)
अपडेट: जैसा कि @MartinMulder ने बताया: किसी भी वैरिएबल लेंथ कैरेक्टर कॉलम में वास्तविक लंबाई को स्टोर करने के लिए 2 बाइट ओवरहेड भी होता है - इसलिए मुझे 2 ^ 31 - 1पहले निर्धारित की गई लंबाई से दो और बाइट्स घटाना होगा - इस प्रकार आप 1 यूनिकोड कैरेक्टर को कम स्टोर कर सकते हैं। मैंने पहले भी दावा किया था।
VARCHAR(MAX)यदि आपको एशियाई, अरब या सिरिलिक भाषाओं के लिए 2-बाइट समर्थन की आवश्यकता नहीं है, तो उपयोग करें । का प्रयोग करें (N)VARCHAR(x)यदि आप जानते हैं एक स्ट्रिंग एक्स वर्णों से अधिक कभी नहीं होगा (प्रयोग नहीं करते NVARCHAR(MAX)एक प्रथम नाम के लिए - उपयोग NVARCHAR(50)या जो भी आप करने के लिए समझ में आता है)
से चार और varchar (Transact-SQL)
varchar [(n। अधिकतम)]
चर-लंबाई, गैर-यूनिकोड चरित्र डेटा। n 1 से 8,000 तक का मान हो सकता है। अधिकतम इंगित करता है कि अधिकतम भंडारण आकार 2 ^ 31-1 बाइट्स है। भंडारण आकार डेटा की वास्तविक लंबाई है + 2 बाइट्स। दर्ज किया गया डेटा लंबाई में 0 वर्ण हो सकता है। Varchar के लिए ISO पर्यायवाची शब्द हैं चर या वर्ण भिन्न होना।
2 ^ 31-1 बाइट्स। तो, varchar (अधिकतम) के लिए 2 ^ 31-1 से थोड़ा कम और nvarchar (अधिकतम) के लिए आधा।