今天使用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
然后重启电脑,这个问题就解决了