sql - NCLOB 到 VARCHAR2
问题描述
我正在尝试在 Oracle 中将 NCLOB 转换为 VARCHAR2,但出现以下错误:
ORA-22835: 缓冲区太小,无法进行 CLOB 到 CHAR 或 BLOB 到 RAW 转换(实际:2669,最大值:2000)
这是我正在使用的代码:
select substr(TO_NCHAR(NCLOB_FIELD),1,3800)
from TABLE
有什么办法可以解决这个错误?
解决方案
在转换之前放置SUBSTR
并使用较小的尺寸:
select TO_NCHAR(substr(NCLOB_FIELD,1,2000))
from TABLE;
推荐阅读
- android - 缓存控制在某些 Android 浏览器中不起作用
- windows - Zookeeper 的 Windows 10 环境变量问题
- c - 在 C 中使用三元运算符时,char * 和 const char * 是否兼容?
- java - 如何使用Spring根据查询参数键和值进行过滤
- docker - 如何在 Cloud Run 上自动部署 Cloud Build 构建的 docker 镜像
- azure - Azure - 无法从私有 Azure 存储库运行映像
- java - 当密钥使用文件夹结构定义时,我们如何从 AWS S3 存储桶中获取对象?
- c++ - 如何停止这个模板化函数值初始化一个新构造的对象?
- visual-studio-2019 - Visual Studio 2019 的指标边距上的各种括号是什么意思?
- arrays - 将 JSON 结构转换为数组:Groovy