8

我执行了以下 (Oracle 11g) SQL 语句来现有列的长度从 VARCHAR2(20 CHAR) 增加到 VARCHAR2(50 CHAR):

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

它顺利地成功了,但是当我查看新Data Type列时,我看到:VARCHAR2(50 BYTE)而不是VARCHAR2(50 CHAR).

我的问题是:

  1. 为什么是字节而不是字符?我做错了什么?
  2. 如何将列的长度固定为VARCHAR2(100 CHAR)
4

1 回答 1

15

回答自己(感谢其他答案提供的提示):

我应该改为执行:

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

(注意50后的额外CHAR

于 2013-02-28T13:12:40.237 回答