關於Union 中 ORA-12704:字符集不匹配問題的解決

在使用Union all鏈接時,若A集合中某列爲nvarchar2或nvarchar類型,而B集合中無此列,用‘ ’ 來代替是會報字符集不匹配,解決方法有兩種,見下面的示例編碼

例:spa

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

如上,T的類型爲nvarchar2,長度爲10,若是直接這樣查詢,就會報字符集不匹配,那麼怎麼來處理呢,可經過兩種方法來解決code

1.to_char()blog

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編碼io

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

這樣就能夠解決字符集不匹配問題了ast

相關文章
相關標籤/搜索