日期:2014-05-17  浏览次数:20744 次

求教:使用PL/SQL与后台操作的区别
本人在练习函数的时候,发现使用PL/SQL工具执行函数转换时间中间的月转换不出来,但是后台操作时可以的,有同学知道是啥原因吗?


PL/SQL工具操作结果:
SQL> select to_char(sysdate,'DD MONTH YYYY') from dual;

TO_CHAR(SYSDATE,'DDMONTHYYYY')
------------------------------
07 2? 201


在后台操作结果:
SQL> select to_char(sysdate,'DD MONTH YYYY') from dual;

TO_CHAR(SYSDATE,'
-----------------
07 FEBRUARY 2012

------解决方案--------------------
应该是字符集的问题导致的
------解决方案--------------------
sql是一个标准,plsql是公司对他的扩展,以更符合自己的开发系统或则是企业发展方向。就像为什么会有很多***C出现一样,也出现了很多***sql,ANSI C是个标准,sql也是个标准文档,只要不脱离标准,扩展是各个企业自己的事情!
------解决方案--------------------
字符集是否相符呀!客户端和数据库端的字符集不统一的原因。
------解决方案--------------------
sql中指定字符集
------解决方案--------------------
在pl/sql中先执行
ALTER SESSION SET nls_language=american;