在DB2中减少列长度的方法

Vic*_*cky 15 sql database db2

有没有办法减少DB2中的列长度?

假设我有一个表格temp,列col1定义为VARCHAR(80).我想减少它VARCHAR(60).

Ian*_*vde 23

在DB2 9.7 for Linux/UNIX/Windows中,您可以使用ALTER TABLE语句来减少列的长度,假设列中的值不超过新列大小:

ALTER TABLE temp
    ALTER COLUMN col1 SET DATA TYPE VARCHAR(60);
Run Code Online (Sandbox Code Playgroud)

如果列中的任何值超出所需大小,则必须先处理该值.

在以前版本的DB2 for Linux/UNIX/Windows中,您无法使用此方法来减小列的大小.您必须删除/重新创建表,或者完成添加列,复制数据和删除旧列的过程.