如何在DB2

时间:2018-02-27 14:49:41

标签: db2 db2-luw

我在DB2中有一个列类型为BLOB的表,我想将其转换为CLOB类型。我的方法是创建一个CLOB类型的新列,将所有数据从BLOB列复制到CLOB列,删除BLOB列并重命名CLOB列。但是,我不知道如何进行第二步,即将数据从BLOB列更新到CLOB列。我怎样才能在DB2中做到这一点。提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您使用的是Db2-LUW v10.5或更高版本,请考虑使用提供的stored procedure CONVERTTOCLOB来实现此目的。当您知道数据是基于字符的时候,这种转换是有意义的。

答案 1 :(得分:0)

您可以使用CONVERTTOCLOB存储过程,但是如果要将BLOB转换为查询中的CLOB,并且不介意将其截断为32K字节,则可以使用{{1转换它。以下是一个例子

VARCHAR()

注意create table b(b blob) organize by row; insert into b values blob(x'F09F9880'); select cast(VARCHAR(b) as VARCHAR(4) FOR MIXED DATA) from b; 1 ---- 位从CAST( ... as VARCHAR(x) FOR MIXED DATA)转换,因此输出不会以十六进制格式显示