Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Oracle中的字符集不匹配错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我跟随我询问我正在尝试运行:
SELECT Script from (

SELECT 9 as colorder,' INSERT INTO PROJ VALUES(' || ID || ',''' || name || ''',''' || Version || ''',''ABCD'',sysdate,sysdate);' as Script FROM PROJ where name like '%[Param.1]%'

union

SELECT 11 as colorder,' INSERT INTO PROJMOD VALUES(' || ID || ',' || ProjID || ',' || ModID || ',' || ObjID || ',sysdate);' as Script FROM PROJMOD where ProjID in ( SELEct ID from PROJ where name like '%[Param.1]%')

) x

Order by colorder

但它给了我ORA-12704:字符集不匹配错误.

当我单独运行SELEct语句时,它给了我正确的输出,但是当我同时选择两个SELEct时,它会给出tme字符集不匹配错误.

这可能有什么问题?

因为你已经确认了一些东西是NVARchar的…将nvarchar转换为char例如
sql> create table tab(a nvarchar2(2));

table created.

sql> insert into tab values ('a');

1 row created.

sql> SELEct 1,'hi' from dual
  2  union all
  3  SELEct 2,a from tab;
SELEct 1,'hi' from dual
          *
ERROR at line 1:
ORA-12704: character set mismatch

失败,因为“A”是NVARCHAR.所以TO_CHAR它:

sql> SELEct 1,to_char(a) from tab;

         1 'HI'
---------- ----
         1 hi
         2 a

或者将字符串文字’hi’强制转换为Nvarchar

sql> SELEct 1,n'hi' from dual
      2  union all
      3  SELEct 2,a from tab;

             1 N'
    ---------- --
             1 hi
             2 a

大佬总结

以上是大佬教程为你收集整理的Oracle中的字符集不匹配错误全部内容,希望文章能够帮你解决Oracle中的字符集不匹配错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: