首页 > 解决方案 > 将表中列的数据类型从 TEXT 更改为 LVARCHAR(10000)

问题描述

我想将表TEXT中列的数据类型更改/修改为. 我通过执行以下命令来做到这一点:batch_calc_queryd_etl_queriesLVARCHAR(10000)

ALTER TABLE d_etl_queries MODIFY (batch_calc_query LVARCHAR(10000));

但是,它给了我以下错误:

9633: ALTER TABLE can not modify column (batch_calc_query) type.  Need a cast from the current type

有什么办法可以避免这个错误?

标签: sqldatabaseinformix

解决方案


运行这两个语句:

CREATE TABLE blob_to_lvarchar(s SERIAL NOT NULL PRIMARY KEY, b TEXT IN TABLE);
ALTER TABLE blob_to_lvarchar MODIFY b LVARCHAR(10000);

生成通告的错误。没有一种简单的方法可以解决这个问题——您必须向系统添加一个强制转换 (CREATE CAST),并使用适当的 C 函数进行备份以进行更改。

您将需要卸载表,删除它,使用正确的列类型重新创建它,然后重新加载表。


推荐阅读