首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用N个函数问题更新NClob

使用N个函数问题更新NClob
EN

Stack Overflow用户
提问于 2015-01-11 02:46:43
回答 1查看 123关注 0票数 0

我正在使用N函数来更新SQL查询中的NClob。但是,update using N函数不允许我更新超过1900个字符。在删除N函数之后。我能够将超过1900个字符更新到我的NClob列中。

有人能告诉我为什么我不能使用N函数更新NClob列吗?有什么限制吗?

代码是

更新设置= StringBuilder updateQuery (“StringBuilder table_name set column_name =");updateQuery.append(”= N'").append(NClobContent).append("'").append(“,");ps.execute(updateQuery.toString());

EN

回答 1

Stack Overflow用户

发布于 2015-01-13 03:10:12

如上所述,in the documentation

  • 文本文字的最大长度为4000字节。

N表示文字使用的是国家字符集,它将是UTF8或AL16UTF16 (默认情况下是后者),因此即使您的长字符串少于4000个字符,它仍然可以超过4000个字节。

如果没有N,字符串将以数据库字符集进行解释,然后将文字转换为NCLOB中存储的国家字符集。因此,您可能会有一个更长的字符串-如果您的数据库字符集是单字节的,那么您最多可以保存4000个字符,尽管NClobCOntent变量中的任何多字节字符都会被损坏。

将您的变量传递给数据库as a stream,而不是使用N语法;您可能会发现this answer是一个有用的起点。或者,您也可以使用this approach,这取决于字符串长度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27879899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档