【发布时间】:2012-01-14 07:23:17
【问题描述】:
我的表中有一个字段是 varchar2,4000 字节。有超过 50000 行。并非所有行都有此字段中的数据。很少有数据字段超过 255 字节,但有些是 4000 字节。要将表放在新应用程序中,我需要将字段缩短到 255 字节。
是否有将长度减少到 255 的 SQL 语句?我意识到数据会丢失,这是新应用程序成本的一部分。剪切应该是任意的,无论在什么情况下都只是将数据停止在 255。
【问题讨论】:
标签: oracle
我的表中有一个字段是 varchar2,4000 字节。有超过 50000 行。并非所有行都有此字段中的数据。很少有数据字段超过 255 字节,但有些是 4000 字节。要将表放在新应用程序中,我需要将字段缩短到 255 字节。
是否有将长度减少到 255 的 SQL 语句?我意识到数据会丢失,这是新应用程序成本的一部分。剪切应该是任意的,无论在什么情况下都只是将数据停止在 255。
【问题讨论】:
标签: oracle
update b set text2 = substr(text2,1,255);
然后alter table 将列的长度设置为255:
alter table b MODIFY "TEXT2" varchar2(255 byte);
【讨论】:
WHERE LENGTH(text2)>255
alter table b MODIFY "TEXT2" varchar2(255 CHAR); CHAR 而不是 BYTE