DB2将两个longvarchar列连接到新的CLOB列中

时间:2018-07-17 13:50:04

标签: db2 concat clob

我正在使用DB2 9.x,我需要将两个LONG VARCHAR列“ ETXA”和“ ETXB”(两列最多填充32700个字符)合并到新的CLOB(150K)列“ ETXALL”中。

我尝试过   更新etxdata SET ETXALL = CONCAT(ETXA,ETXB); 并得到了错误 SQL0137N“ CONCAT”产生的长度大于“ 0000032700”。 SQLSTATE = 54006

我在网上找不到解决方案。 任何解决该问题的想法将不胜感激!

1 个答案:

答案 0 :(得分:0)

(假设您正在使用DB2 for LUW)错误消息告诉您答案https://www.ibm.com/support/knowledgecenter/en/SSEPGG_9.7.0/com.ibm.db2.luw.messages.sql.doc/com.ibm.db2.luw.messages.sql.doc-gentopic1.html#sql0137n

  

除非操作数之一是CLOB,否则字符字符串的结果限制为32,700字节,然后限制为2 GB。

因此,在CLOB之前,请尝试将您的一列(或两列)投射到CONCAT

SET ETXALL = CONCAT( CLOB(ETXA), ETXB );