如何在不截断数据的情况下将CLOB列迁移到DB2中的(json)BLOB?

时间:2019-10-10 11:34:11

标签: json db2 blob clob

我有一个带有大型表的DB2 11数据库,该表具有存储在CLOB列中的JSON数据。鉴于我想使用JSON_VAL函数对其执行查询,因此我始终需要首先使用JSON2BSON对其进行转换,我认为这是相当大的开销。我想将数据移到结构完全相同的另一张表中,但我想用BLOB替换CLOB列,以便立即将JSON存储在BLOB中,希望这可以加快查询速度。

我的解决方法是编写

insert into newtable (ID, BLOBDATA) select ID, SYSTOOLS.JSON2BSON(CLOBDATA) from oldtable;

这样做之后,我意识到很长的json对象被截断了。我已经对此进行了搜索,并了解到它可以截断大型对象。

我要联系到这里,看看是否有任何简单的方法可以让我执行此练习,而不必编写程序来读出和写回所有数据。 (当我使用DB2 csv导出功能时,我被类似的截断所困扰。)

谢谢。

1 个答案:

答案 0 :(得分:1)

从Db2 11.1.4.4开始,有new JSON functions基于ISO技术论文。我建议使用它们。它们是未来的战略功能。

您可以使用JSON_VALUE来执行与JSON_VAL相同的计划。