【问题标题】:String concatination too long error oracle字符串连接太长错误oracle
【发布时间】:2021-10-17 12:51:16
【问题描述】:

当我从数据库中获取记录时,我得到了ORA-01489: result of string concatenation is too long

表中有更多行。

请在下面找到我的查询。

SELECT MAX(LTRIM(sys_connect_by_path(TO_CHAR(rn) 
  ||'.' 
  ||MESSAGE,'~'),'~')) MESSAGE 
FROM 
  (SELECT tif, 
    MESSAGE, 
    ROWNUM rn 
  FROM BULL_MESS msg, 
    BULL_MAPPING MAP 
  WHERE map.tif        = ? 
  AND msg.message_id   = MAP.message_id 
  AND msg.enabled_flag = 'Y' 
  ) 
  START WITH rn       = 1 
  CONNECT BY PRIOR rn = rn-1 
MINUS 
SELECT NULL FROM dual

【问题讨论】:

  • 你可以使用递归子查询来构建与clob相同的字符串,没有这个限制

标签: database oracle


【解决方案1】:

sys_connect_by_path 函数返回一个varchar2varchar2s 在 SQL 中的长度限制为 4000 字节。你必须超过这个长度。

另外,您确定 max 是您想要的查询吗?

【讨论】:

    猜你喜欢
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 2015-06-28
    • 2017-02-06
    • 2013-04-04
    相关资源
    最近更新 更多