2013-02-28 9 views
5

मैं वृद्धि मौजूदा स्तंभ के VARCHAR2 (50 वर्ण) को VARCHAR2 (20 CHAR) से लंबाई के लिए निम्न (Oracle 11g) SQL विवरण निष्पादित:ALTER कथन: VARCHAR2 (50 CHAR) के बजाय VARCHAR2 (50 BYTE) क्यों?

ALTER TABLE USERX.MY_TABLE MODIFY (LASTNAME VARCHAR2(50)); 

यह घटना के बिना सफल रहा, लेकिन जब मैं देखो नया Data Type कॉलम, मैं देखता हूं: VARCHAR2(50 BYTE)VARCHAR2(50 CHAR) के बजाय।

मेरे प्रश्न हैं:

  1. क्यों बाइट और चार नहीं? मैंने गलत तरीके से क्या किया है?
  2. मैं कॉलम की लंबाई को VARCHAR2(100 CHAR) पर कैसे ठीक करूं?
+3

आप इस सवाल का जवाब मिल सकती है यहां [varchar2 (एन BYTE | CHAR) डिफ़ॉल्ट -> चार्ज या BYTE] (http://stackoverflow.com/questions/7477564/varchar2n-bytechar-default-char-or-byte) –

+0

@ABCade धन्यवाद! इसने उत्तर के साथ आने के लिए पर्याप्त जानकारी प्रदान की। मुझे उस डिफ़ॉल्ट चीज़ के बारे में पता नहीं था। :) – Withheld

+1

आपका स्वागत है, [0] [http://stackoverflow.com/a/7477609/1083652) –

उत्तर

9

अपने आप उत्तर देना (टिप के लिए धन्यवाद by this other answer प्रदान की गई):

मैं बजाय मार डाला जाना चाहिए था:

ALTER TABLE USERX.MY_TABLE MODIFY (LASTNAME VARCHAR2(50 CHAR)); 

(ध्यान दें अतिरिक्त CHAR 50 के बाद)

संबंधित मुद्दे