首页 > 解决方案 > Oracle 将 NCLOB 数据插入 NVARCHAR2

问题描述

我很想将 NCLOB 数据插入 NVARCHAR2。它在存储过程中显示错误 ORA - 06512。

如何修复此错误?

标签: oracleinsertnclob

解决方案


你没有分享太多信息,所以很难猜出你做了什么以及甲骨文为什么抱怨它。不过,会有TO_NCHAR什么好处吗?

TO_NCHAR(字符)将字符串、CHAR、VARCHAR2、CLOB 或 NCLOB 值转换为国家字符集。返回的值始终为 NVARCHAR2

SQL> create table test (col_nclob nclob);

Table created.

SQL> create table test2 (col_nvarchar2 nvarchar2(20));

Table created.

SQL> insert into test values ('x');

1 row created.

SQL> insert into test2 (col_nvarchar2)
  2    select to_nchar(t.col_nclob) from test t;

1 row created.

SQL>

推荐阅读