【问题标题】:how to convert a blob column type to clob in DB2如何在 DB2 中将 blob 列类型转换为 clob
【发布时间】:2018-02-27 14:49:41
【问题描述】:

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

【问题讨论】:

标签: db2 db2-luw


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您可以使用CONVERTTOCLOB 存储过程,但如果您想在查询中将 BLOB 转换为 CLOB,并且不介意将其截断为 32K 字节,则可以使用 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) 位是从VARCHAR FOR BIT DATA 转换而来的,因此输出不会以十六进制格式显示

    【讨论】:

      猜你喜欢
      • 2018-08-05
      • 2012-10-02
      • 1970-01-01
      • 1970-01-01
      • 2018-02-12
      • 2018-07-15
      • 2017-05-22
      • 2013-12-15
      • 2019-04-12
      相关资源
      最近更新 更多