2016-07-07 39 views
-1

我正在使用Oracle数据库。有一个表名为UC_ADMIN_TYPE。目前它设置为1个字符。Oracle:更改变量的大小

因此,对于例如,该领域将有A,B,C,d的值,....

现在我们要改变这AA,BB,CC,......像那

所以基本上它应该支持2个字符。

我可以继续并将当前UC_ADMIN_TYPE的1个字符更改为2个字符吗?

或者是否可以在当前UC_ADMIN_TYPE(1个字符)本身中适合2个字符?

如果我需要将其更改为2个字符,那么SQL是什么?

该变化是否还有其他影响?

+2

除非你知道自己在做什么,你要切换到'varchar2'数据类型。 'char'类型会用空格填充你的字符串,它可能会导致一些意外的行为。 – sstan

回答

0

我建议修改所述列的数据类型为VARCHAR2

ALTER TABLE table_name 
MODIFY column_name datatype 

或者,也许炭(n),其中n是炭的最大长度。

Difference between char and varchar

+1

'char'几乎总是一个不错的选择。 –

+0

@a_horse_with_no_name介意阐述你的观点?谢谢 –

+1

因为'char'列的值总是被填充到定义的长度(使用空格字符)。因此,如果将值'x'存储到'char(10)'列中,Oracle将存储''x''。如果你比较一下'varchar'列中包含'x',则比较失败。 'char'绝对没有'varchar'的优点,但有几个缺点。 –