दिलचस्प पोस्ट
सीमा शुल्क में बाँध वैल्यू विधि कैसे लागू करें? एनएटी / सी # में प्रवेश के लिए बड़ी संख्या में रिकॉर्ड (बल्क डाट) लिखना वर्तमान संदर्भ में वैरिएबल मौजूद नहीं है? संग्रहित प्रक्रिया का उपयोग करके बल्क डालें जावा का अर्रे अनुक्रमणिका कहाँ है? ऑरेकल में क्रम के मान को रीसेट करने की आवश्यकता है क्या होता है जब आप अपने अधिकतम मूल्य से बाहर एक पूर्णांक बढ़ाते हैं? एंड्रॉइड में नए संपर्क कैसे जोड़ें कमांड प्रॉम्प्ट विंडो में क्लिपबोर्ड सामग्री पेस्ट करने के लिए कीबोर्ड शॉर्टकट (Win XP) एक समग्र प्राथमिक कुंजी जोड़ने के लिए वैकल्पिक तालिका गैर-अनन्य एन्यूम मान पायथन: एक शर्त के आधार पर एक सूची विभाजित? जावा "लैम्ब्डा भाव इस भाषा के स्तर पर समर्थित नहीं हैं" कैसे iPhone यूआईएलबल में कर्निंग को सेट करें ईकलप्से में टॉमकेट 8 का उपयोग कैसे करें?

ओरेकल में वर्कर और वर्चार 2 के बीच क्या अंतर है?

Varchar और varchar2 के बीच अंतर क्या है?

Solutions Collecting From Web of "ओरेकल में वर्कर और वर्चार 2 के बीच क्या अंतर है?"

अभी के लिए, वे समानार्थी हैं

VARCHAR को Oracle द्वारा आरक्षित किया जाता है ताकि भविष्य में खाली और खाली स्ट्रिंग के बीच भेद का समर्थन किया जा सके, क्योंकि ANSI मानकों के अनुसार।

VARCHAR2 एक खाली और खाली स्ट्रिंग के बीच अंतर नहीं करता, और कभी नहीं होगा

यदि आप रिक्त स्ट्रिंग पर भरोसा करते हैं और एक ही बात करते हैं, तो आपको VARCHAR2 उपयोग करना चाहिए।

वर्तमान में VARCHAR बिल्कुल VARCHAR2 के समान व्यवहार करता है। हालांकि, इस प्रकार का उपयोग नहीं किया जाना चाहिए क्योंकि यह भविष्य के उपयोग के लिए आरक्षित है।

से लिया: चर, VARCHAR, VARCHAR2 के बीच अंतर

नवीनतम स्थिर ओरेकल उत्पादन संस्करण 12.2 से लिया: डेटा प्रकार

मुख्य अंतर यह है कि VARCHAR2 एक आंतरिक डेटा प्रकार है और VARCHAR एक बाहरी डेटा प्रकार है । इसलिए हमें आंतरिक और बाह्य डेटा प्रकार के बीच के अंतर को समझने की आवश्यकता है …

डेटाबेस के अंदर, मान तालिका में स्तंभों में संग्रहीत किए जाते हैं। आंतरिक रूप से, ओरेकल विशेष रूप से डेटा को दर्शाता है जिसे आंतरिक डेटा प्रकार के रूप में जाना जाता है।

सामान्य तौर पर, ओसीआई (ओरेकल कॉल इंटरफेस) अनुप्रयोग डेटा के आंतरिक डेटा प्रकार के प्रतिनिधित्व के साथ काम नहीं करते हैं, लेकिन मेजबान भाषा डेटा प्रकार के साथ जो उस भाषा से पूर्वनिर्धारित होते हैं जिसमें वे लिखे गए हैं। जब ओसीआई क्लाइंट एप्लिकेशन और डेटाबेस तालिका के बीच डेटा को स्थानांतरित किया जाता है, तो ओसीआई पुस्तकालय आंतरिक डेटा प्रकारों और बाह्य डेटा प्रकारों के बीच के डेटा को परिवर्तित करते हैं।

बाहरी प्रकार प्रोप्रायटरी डेटा स्वरूपों के बजाय मेजबान भाषा प्रकारों के साथ काम करना संभव बनाकर प्रोग्रामर की सुविधा प्रदान करते हैं। ओसीकल डाटाबेस और ओसीआई अनुप्रयोग के बीच डेटा स्थानांतरित करते समय ओसीआई डेटा प्रकार रूपांतरणों की एक विस्तृत श्रृंखला का प्रदर्शन कर सकता है। ओरेकल के आंतरिक डेटा प्रकारों की तुलना में अधिक ओसीआई बाह्य डेटा प्रकार हैं

VARCHAR2 डेटा प्रकार वर्ण की एक चर-लंबाई स्ट्रिंग है जो अधिकतम 4000 बाइट्स के साथ है। यदि init.ora पैरामीटर max_string_size डिफ़ॉल्ट है, तो VARCHAR2 की अधिकतम लंबाई 4000 बाइट्स हो सकती है। यदि init.ora पैरामीटर max_string_size = विस्तारित, VARCHAR2 की अधिकतम लंबाई 32767 बाइट्स हो सकती है

VARCHAR डेटा प्रकार भिन्न लंबाई के चरित्र तारों को स्टोर करता है। पहले 2 बाइट्स में वर्ण स्ट्रिंग की लंबाई होती है, और शेष बाइट्स में स्ट्रिंग होती है। बाइंड में स्ट्रिंग की निर्दिष्ट लंबाई या परिभाषित कॉल में दो लम्बाई बाइट्स शामिल होने चाहिए, इसलिए सबसे बड़ा VARCHAR स्ट्रिंग जो प्राप्त या भेजी जा सकती है 65533 बाइट्स लंबी, 65535 नहीं।

12.2 डेटाबेस में एक त्वरित परीक्षण से पता चलता है कि आंतरिक डेटा प्रकार के रूप में , ओरेकल VARCHAR2 लिए अभी भी एक VARCHAR को एक छद्म रूप में मानता है। यह एक SYNONYM नहीं है जो ओरेकल में एक वास्तविक वस्तु प्रकार है।

 SQL> select substr(banner,1,80) from v$version where rownum=1; Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> create table test (my_char varchar(20)); Table created. SQL> desc test Name Null? Type MY_CHAR VARCHAR2(20) 

ProC / C ++ प्रीकम्पलर विकल्पों के लिए VARCHAR कुछ प्रभाव भी हैं। प्रोग्रामर, जो रुचि रखते हैं, के लिए लिंक: प्रो * सी / सी ++ प्रोग्रामर गाइड है

कुछ प्रयोग (नीचे देखें) के बाद, मैं पुष्टि कर सकता हूं कि सितंबर 2017 तक स्वीकार किए गए उत्तर में वर्णित कार्यक्षमता के संबंध में कुछ भी नहीं बदला है: –

  1. ओरेकल 11 जी के लिए रिक्स्टेर डेमो: रिक्त तार VARCHAR और VARCHAR2 दोनों के लिए NULL रूप में डाले गए हैं।
  2. ओरेकल 12c के लिए लाइव एसक्यूएल डेमो: एक ही परिणाम।

इन दो खोजशब्दों का ऐतिहासिक कारण एक अलग प्रश्न के उत्तर में अच्छी तरह समझाया गया है ।

VARCHAR2

चर लंबाई वर्ण तारों को स्टोर करने के लिए उपयोग किया जाता है। स्ट्रिंग मान की लंबाई डिस्क पर स्वयं के साथ संग्रहीत की जाएगी।

 variable x varchar2(10) begin :x := 'hullo'; end; / 

VARCHAR

वर्चारे 2 के समान ही व्यवहार करता है हालांकि, इस प्रकार का उपयोग नहीं किया जाना चाहिए क्योंकि यह भविष्य के उपयोग के लिए आरक्षित है

  1. VARCHAR वर्णों के 2000 बाइट्स तक स्टोर कर सकता है, जबकि VARCHAR2 वर्णों के 4000 बाइट तक स्टोर कर सकता है।

  2. अगर हम डेटार्ट प्रकार VARCHAR के रूप में घोषित करते हैं तो यह शून्य मानों के लिए स्थान पर कब्जा करेगा। VARCHAR2 डेटाटाइप के मामले में, यह शून्य मानों के लिए किसी भी स्थान पर कब्जा नहीं करेगा। जैसे,

    name varchar(10)

स्मृति के 6 बाइट आरक्षित करेगी, भले ही उसका नाम 'रवि__' हो, जबकि

 name varchar2(10) 

इनपुट स्ट्रिंग की लंबाई के अनुसार अंतरिक्ष आरक्षित करेगा जैसे, 'रवि__' के लिए स्मृति के 4 बाइट्स

यहां, _ NULL का प्रतिनिधित्व करता है

नोट: वर्चार रिक्त मानों के लिए रिक्त स्थान आरक्षित करेगा और varchar2 रिक्त मानों के लिए कोई भी स्थान आरक्षित नहीं करेगा।