2011-04-24 21 views
27

में HTML संग्रहीत करना SQL सर्वर 2008 में HTML सामग्री को संग्रहीत करने के लिए मुझे किस डेटा प्रकार का उपयोग करना चाहिए?SQL सर्वर

यह एक सीएमएस के लिए गतिशील सामग्री के लिए है।

उत्तर

32

VARCHAR(MAX) अगर यह सब ascii आधारित होने के लिए जा रहा है, मूल HTML tepmplates

NVARCHAR(MAX) के लिए कहते हैं कि एचटीएमएल किसी भी सामग्री को रख सकती है, तो

के रूप में यह अंतरिक्ष की डबल राशि का उपयोग करता है NVARCHAR अपने भंडारण उपयोग दोगुना होगा वचरर के रूप में एचटीएमएल ही NVARCHAR की आवश्यकता नहीं है, HTML टैग के बीच केवल सामग्री भाषा, आदि के आधार पर हो सकता है ..

संपादित करें:

कई साल पर इस जवाब देने से मैं लगभग हमेशा NVARCHAR अब का उपयोग अगर टैग सामग्री के बीच कोई है। यूनिकोड लोकप्रिय है ...

मैं केवल VARCHAR का उपयोग केवल साधारण एचटीएमएल टेम्पलेट्स के भंडारण, जैसे टैग और प्लेसहोल्डर
जैसे यदि: <div><span>[PLACEHOLDER]</span><div>

बनाओ कॉल अपने यूज-केस के आधार पर ..

+1

आह - संख्या से तुलना की अधिक मात्रा की अवधि होती है। यह एक अच्छा सवाल है, लेकिन मानक एचटीएमएल को विशेष वर्णों को एन्कोड करने के लिए "भाषा पर आधारित" सामग्री की आवश्यकता होगी;) एचटीएमएल में कोई यूनिकोड नहीं, क्षमा करें। सामान्य Ascii केवल सेट। – TomTom

+0

अरे, और मैं इन सभी वर्षों में VARCHAR में एचटीएमएल संग्रहीत कर रहा हूं .. ;-) –

+0

क्योंकि एचटीएमएल में केवल असीसी वर्ण हैं, जैसा कि मैंने कहा है। सभी विशेष भाषा के characers इनकोडिंग किया जाना चाहिए;) तो, डाटाबेस केवल ASCII देखता है .... या यह एचटीएमएल नहीं है;) – TomTom

12

एक NVARCHAR(MAX) (या छोटा) में यह रखो।
एचटीएमएल अन्य पाठ से अलग नहीं है।

0

डेटा प्रकार मैं एसक्यूएल सर्वर 2008

आप का इस्तेमाल किया जाना चाहिए NVARCHAR (मैक्स) में दुकान HTML सामग्री से उपयोग करें यदि आप एक से अधिक भाषा पाठ संग्रहीत करना चाहते हैं चाहिए।

अन्यथा VARCHAR (MAX) का उपयोग करें यदि आप अंग्रेजी भाषा टेक्स्ट स्टोर करना चाहते हैं।

nvarchar (अधिकतम) में वर्चर (अधिकतम)