今天使用PL/SQL Developer這個工具來操作Oracle數據時發現了一個問題:
select * from tb_student_grade pivot(max(grade) for course in('math' as 數學,'chinese' as 語文,'english' as 英語));
執行這個SQL語句提示invalid character,原因是我的數據庫編碼是AMERICAN_AMERICA.ZHS16GBK(使用select userenv('language') from dual這個SQL可以查出來),但是我的環境變量沒有設置NLS_LANG。
解決方案:電腦-》右鍵-》屬性-》高級系統設置-》系統變量 中添加變量NLS_LANG,值是:AMERICAN_AMERICA.ZHS16GBK
然后重啟電腦,這個問題就解決了