问题描述
嗨,
使用dbms_lob.substr(),我可以提取最多4k字符,但我想提取所有字符 (6k字符中的6k)。重要的是,我应该返回char或varchar类型。
喜欢下面的查询
dbms_lob.substr(x,6000,1)。
谢谢
使用dbms_lob.substr(),我可以提取最多4k字符,但我想提取所有字符 (6k字符中的6k)。重要的是,我应该返回char或varchar类型。
喜欢下面的查询
dbms_lob.substr(x,6000,1)。
谢谢
专家解答
varchar2 (以11g为单位) 具有4000字节的上限。因此,您不能将 * 超过 * 4000个字节作为varchar2返回。
您可以返回 * 多个 * varchar2变量,例如
但这正是为什么clob存在-对于字符串 * 比4000更长 *。
您可以返回 * 多个 * varchar2变量,例如
select dbms_lob.substr(x, 4000, 1), dbms_lob.substr(x, 4000, 4001), dbms_lob.substr(x, 4000, 8001), dbms_lob.substr(x, 4000, 12001) ... from ...
但这正是为什么clob存在-对于字符串 * 比4000更长 *。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




