Oracle中 ORA-12704:字符集不匹配


前言

  在使用Union all连接时,若A集合中某列为nvarchar2或nvarchar类型,而B集合中无此列,用‘ ’ 来代替是会报字符集不匹配

1 select '中国','China',cast('中国' as nvarchar2(10)) T 2 from dual 3 union all 4 select '美国','USA','' 
5 from dual;

 

解决方法

  1、to_char()

  

1 select '中国','China',to_char(cast('中国' as nvarchar2(10))) T 2 from dual 3 union all 4 select '美国','USA','' 
5 from dual;

  2、 用N' ',N''是将‘’转换为Unicode编码

1 select '中国','China',cast('中国' as nvarchar2(10)) T 2 from dual 3 union all 4 select '美国','USA',N'' 
5 from dual;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM