在使用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