这个问题在这里已经有了答案:
varchar2(n BYTE|CHAR) default -> CHAR or BYTE
(2 个回答)
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)
.我的问题是:
VARCHAR2(100 CHAR)
? 最佳答案
回答我自己(感谢提供的提示 by this other answer):
我应该执行:
ALTER TABLE USERX.MY_TABLE MODIFY (LASTNAME VARCHAR2(50 CHAR));
(注意 50 之后的额外
CHAR
)
关于sql - ALTER 语句 : Why VARCHAR2(50 BYTE) instead of VARCHAR2(50 CHAR)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15136280/