Oracle中的字符集不匹配错误
发布时间:2020-12-12 13:09:14 所属栏目:百科 来源:网络整理
导读:我跟随我询问我正在尝试运行: 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]%'unionSELECT
我跟随我询问我正在尝试运行:
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |