求教:使用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;