निश्चित रूप से नहीं :
-
TEXT, NTEXT
:वे प्रकार बहिष्कृत . हैं SQL सर्वर 2005 के अनुसार और नए विकास के लिए उपयोग नहीं किया जाना चाहिए।VARCHAR(MAX)
का उपयोग करें याNVARCHAR(MAX)
इसके बजाय -
IMAGE
,VARBINARY(MAX)
:IMAGE
TEXT/NTEXT
. की तरह ही बहिष्कृत है , और टेक्स्ट स्ट्रिंग को बाइनरी कॉलम में संग्रहीत करने का वास्तव में कोई मतलब नहीं है....
ताकि मूल रूप से VARCHAR(x)
या NVARCHAR(x)
:VARCHAR
गैर-यूनिकोड स्ट्रिंग्स (प्रति वर्ण 1 बाइट) और NVARCHAR
stores को संग्रहीत करता है 2-बाइट-प्रति-वर्ण यूनिकोड मोड में सब कुछ संग्रहीत करता है। तो क्या आपको यूनिकोड की आवश्यकता है? क्या आपके तार में अरबी, हिब्रू, चीनी या अन्य गैर-पश्चिमी-यूरोपीय वर्ण हैं, संभावित रूप से? फिर NVARCHAR
. के साथ जाएं
(N)VARCHAR
कॉलम दो फ्लेवर में आते हैं:या तो आप अधिकतम लंबाई परिभाषित करते हैं जिसके परिणामस्वरूप 8000 बाइट्स या उससे कम (VARCHAR
8000 वर्णों तक, NVARCHAR
4000 तक), या यदि वह पर्याप्त नहीं है, तो (N)VARCHAR(MAX)
का उपयोग करें संस्करण, जो 2 GByte तक डेटा संग्रहीत करते हैं।
अपडेट करें: SQL सर्वर 2016 मूल JSON समर्थन होगा - एक नया JSON
डेटाटाइप (जो nvarchar
. पर आधारित है ) पेश किया जाएगा, साथ ही एक FOR JSON
क्वेरी से आउटपुट को JSON फॉर्मेट में बदलने का आदेश
अपडेट #2: अंतिम उत्पाद में, Microsoft ने एक अलग JSON
. शामिल नहीं किया था डेटाटाइप - इसके बजाय, कई JSON-फ़ंक्शंस हैं (JSON में डेटाबेस पंक्तियों को पैकेज करने के लिए, या JSON को रिलेशनल डेटा में पार्स करने के लिए) जो NVARCHAR(n)
प्रकार के कॉलम पर काम करते हैं।