【问题标题】:DB2 concat two longvarchar columns into new CLOB columnDB2 将两个 longvarchar 列连接成新的 CLOB 列
【发布时间】:2018-12-25 06:13:37
【问题描述】:

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

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

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

【问题讨论】:

  • 是适用于 Z/OS、Linux/Unix/Windows 还是 i 系列的 Db2?

标签: db2 concat clob


【解决方案1】:

(假设您使用 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

字符串结果限制为 32,700 字节,除非其中一个操作数是 CLOB,然后限制为 2 GB。

因此,请尝试在 CONCAT 之前将您的一个(或两个)列转换为 CLOB

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多